ugrás a tartalomhoz

include probléma mysql kapcsolatnál

xeras · 2009. Ápr. 27. (H), 00.57
üdv,

minden include esetén abszolút elérési utat használok, mindenhol jól működik, kivéve mikor a mysqlkapcsolat.phpt töltöm be, mert ilyenkor valamiért ezt írja ki:

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource

több tárhelyen is tapasztaltam, nem értem az okát... relatív elérésnél nincs probléma, de hát ugye több alkönyvtár is van, így mindig mást kéne beírogatnom, ezt akarom elkerülni abszolút útvonannal.

csak éppen valamiért nem működik

ha van tipp, hogy miért csinálja ezt, előre is köszönöm!
 
1

Kód?

janoszen · 2009. Ápr. 27. (H), 06.13
Ha esetleg bemásolnád a kód releváns és kitakarított részét?

Egyébként az abszolut útvonal begyógyítása nagyon rossz ötlet, mert ha a szolgáltató stratégiai okokból áthelyezi az oldaladat (pl disk volume leürítése, új volume hozzáadása) akkor szomorú leszel. Szerencsére az egész dolog szükségessége egy kis szervezéssel elkerülhető.
6

értem

xeras · 2009. Ápr. 27. (H), 11.02
köszi, ezt nem tudtam, majd akkor ezután relatívval oldom meg... vagy lehet már ezt is úgy kéne?
7

mégse értem

xeras · 2009. Ápr. 27. (H), 11.12
az abszolút útvonalnak nem az az előnye, hogy bármi történik pontosan azon a címen keres, amit én megadtam neki?
2

Ez nem include hiba

nagykutya · 2009. Ápr. 27. (H), 10.03
Ez miért lenne include hiba?

Valószínűbb, hogy az adatbázis kapcsolat nem jön létre, vagy az adatbázis kiválasztás bukik el.
3

kódolás?

nagyfej · 2009. Ápr. 27. (H), 10.53
Szia!
nem tudom, milyen karakterkódolást használsz. Ha esetleg UTF-8, nézd meg, hogy UTF-8 bom nélkül-re legyen állítva a fájl kódolása, ha simán UTF-8-ra állítod, az is ilyen hibát produkálhat.
Üdv:G
5

:)

gex · 2009. Ápr. 27. (H), 11.01
ez elég valószínűtlen...
4

kód

xeras · 2009. Ápr. 27. (H), 11.00
A) Így nem működik:

conncect.inc.php:
session_start();
kapcsolódás

nevek.php:
include("http://domain.hu/konyvtar/conncect.inc.php");


B) Így működik:

nevek.php:
session_start();
kapcsolódás


C) Így is működik:

conncect.inc.php:
session_start();
kapcsolódás

nevek.php:
include("conncect.inc.php");



Kérdés: hogy lehetne, hogy az A változat is működjön? köszönöm!

(megj: az A változat minden esetben működik, ha nem a kapcsolat.inc fáljt töltöm be, hanem pl. a menu.phpt)
8

mi a tartalma?

gex · 2009. Ápr. 27. (H), 11.13
conncect.inc.php és a menu.php egymással teljesen kicserélhető? vagy hogyan gondoltad hogy ha másikat include-olsz akkor minden oké lesz?

a másik kérdésem pedig, hogy honnan kéne itt tudnia bárkinek is, hogy mi van a conncect.inc.php-ben vagy menu.php-ben?! hibaüzenet alapján keresd meg a kódban a hibát eredményező sorokat és másold be ide. kizárólag abból fogunk rájönni, hogy mi a hiba...
9

az az érdekes

xeras · 2009. Ápr. 27. (H), 11.22
hogy ha a connect.inc.phpt nem includolom, hanem egy az egyben bemásolom (ctrlc,ctrlv) a nevek.phpba, akkor tökéletesen működik.

A menü.php magát a menüt tartalmazza, ami minden oldalon ua., ezért ezt is includolom (abszolút útvonallal), ami hiba nélkül működik!

Ebből gondoltam, hogy ez valami include probléma lesz...

A hibaüzenetet már bemásoltam:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource


Remélem így érthetően írtam, ha kell küldöm a kódot is, de szerintem felesleges.
10

nem elírás?

gex · 2009. Ápr. 27. (H), 11.31
conncect vagy connect?
11

sajnos nem

xeras · 2009. Ápr. 27. (H), 11.33
mert direkt kipróbáltam, és akkor más hibaüzenetet ad
14

include http wrapper

Poetro · 2009. Ápr. 27. (H), 12.09
include("http://domain.hu/konyvtar/conncect.inc.php");
A fenti kód a http://domain.hu/konyvtar/conncect.inc.php kimenetét fogja include-olni, ami valószínűleg üres. Tehát azt amit a böngészőben látsz, amikor megnyitod benne a fájlt.
16

köszi

xeras · 2009. Ápr. 27. (H), 12.16
és mit lehet az include helyett használni?

(egyébként ha azonos könyvtárban vannak, akkor az include("connect.inc.php") működik! ez hogy van?)
17

semmit

Poetro · 2009. Ápr. 27. (H), 12.17
Biztosan HTTPt akarsz használni? Egyáltalán miért pont azt? Mert ha neked sikerülne így megtudni a belépési jelszót, akkor másnak miért is nem? Szóval felejtsük el a HTTPs include-ot, mert nagyon lassít, nincs igazi előnye, és nem biztonságos.
18

c nem jó?

gex · 2009. Ápr. 27. (H), 12.17
mi a baj a c-változattal? mi nem tetszik benne?
21

át kell írogatni mindig

xeras · 2009. Ápr. 27. (H), 12.31
mert van egy csomó alkönyvtáram, és az ott lévő fájlhoz képest már más a relatív útvonala a connect.incnek
19

Relatív

Poetro · 2009. Ápr. 27. (H), 12.22
Relatív, vagy abszolút útvonalon is lehet includeolni, az abszolut ebben az esetben a root könyvtár (/). getcwd paranccsal tudod meg, hogy mi az aktuális útvonalad, ha ehhez képest relatívot szeretnél akkor a hagyományos .. és / elérési út parancsokkal lehet bejárni a könyvtárfát. pl: ../includes/connect.inc.php ha az include könyvtár egy könyvtárral feljebb van. Lásd alap DOS / UNIX/ Linux könyvtárbejárás.
22

getcwd!

xeras · 2009. Ápr. 27. (H), 12.34
köszönöm szépen, így már mindent értek, fogalmam sem volt ilyenekről, de most már működik :)

köszi mégegyszer!
15

de jó

gex · 2009. Ápr. 27. (H), 12.16
ezt nem is figyeltem. :D
12

mysql_close?

xeras · 2009. Ápr. 27. (H), 11.51
az lehet probléma, hogy sehol nem használok mysql_close-t? ettől függetlenül minden hibátlanul működik, a bonyolultabb kódok is szépen gyorsan futnak. elképzelhető, hogy includnál mégis problémát okoz?
13

még 1 hiba

xeras · 2009. Ápr. 27. (H), 12.09
a funckciók sem működnek, ha másik könyvtárból includolom őket:(

teljes tanácstalanság... tárhely (nem ingyenes) miatt lehet ez?
20

gondold át..

szabo.b.gabor · 2009. Ápr. 27. (H), 12.26
itt szerintem alapvető problémák vannak..

html kódban ok, hogy használsz http://satöbbi.. dolgokat pl css-hez, képekhez, vagy js-hez (bár szerintem itt is egyszerűbb '/' -től indulni)

de php-ban ne akarj http:// bármit is include-olni. jó lehet az abszolút elérés (valahol olvastam :D) de ez ilyenkor tipikusan valami ilyesmit jelenthet '/var/www/...'
tehát a szerver fájlrendszerét..

próbáld meg ezt
echo __FILE__;

ez kiírja az épp aktuálisan futtatott fájl elérését

ebből ki is nyerheted az abszolut elérési útvonalat, ha akarod.. és használhatod máshol is..
23

igen!

xeras · 2009. Ápr. 27. (H), 12.35
ezt nem tudtam, hogy honnan nézi az abszolút útvonalat, ezért próbálkoztam a http-vel...

köszönöm mindenkinek a segítséget, megéri ide benézni :)