Autor | Zpráva | ||
---|---|---|---|
Karlos Profil * |
#1 · Zasláno: 6. 4. 2015, 20:27:29
Dobrý den,
nainstaloval jsem si WAMP a nejde mi připojení k databázi. Nenastavoval jsem žádné jméno heslo. Takže je tam něco předefinované, ale nevím co. $localhost = "localhost"; $user = "root"; $password = ""; $databaze = "tabulka"; mysql_connect($localhost, $user, $password); mysql_select_db($databaze); |
||
Tomáš123 Profil |
#2 · Zasláno: 6. 4. 2015, 20:48:26
Karlos:
Nevidím dôvod, prečo to nenapísať jednou funkciou: mysql_connect($localhost, $user, $password, $databaze); „Takže je tam něco předefinované, ale nevím co.“ Preddefinované hodnoty si trafil. Máš program zapnutý? Čo je výsledkom pripojenia? Vypíše ti to nejakú chybu? |
||
Karlos Profil * |
#3 · Zasláno: 6. 4. 2015, 20:49:57
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp\www\zpracuj.php on line 27 Call Stack # Time Memory Function Location 1 0.0050 140368 {main}( ) ..\zpracuj.php:0 2 0.0050 140832 mysql_connect ( ) ..\zpracuj.php:27 |
||
Tomáš123 Profil |
#4 · Zasláno: 6. 4. 2015, 21:00:15
Karlos:
Chyba ťa informuje o tom, že funkcia/e mysql_* sú zastarané a v budúcnosti búdu z jazyka PHP odstránené. Obsahuje aj radu, aby si do budúcna používal funkcie mysqli_* . Pripojenie do databázy pravdepodobne prebehlo korektne. Skús z (neprázdnej) tabuľky niečo vytiahnuť. Potom pomocou funkcie var_dump() skontroluj, či premenná, do ktorej si výsledok uložíš neobsahuje boolean false . Ak nie, všetko je v poriadku.
<?php $connection = mysqli_connect($localhost, $user, $password, $databaze); $query = "SELECT * FROM `nazov_tabulky`"; $result = mysqli_query($query, $connection); var_dump($result); ?> |
||
webguru Profil |
#5 · Zasláno: 6. 4. 2015, 21:02:03
mysql_connect (): rozšírenie mysql je už zastaraná a bude odstránená v budúcnosti, použitie mysqli . GOOGLE -
https://translate.google.sk/
Čo máš na riadku 27? |
||
Karlos Profil * |
#6 · Zasláno: 6. 4. 2015, 21:03:20
mysql_connect($localhost, $user, $password);
Toto je právě na 27.řádku |
||
lionel messi Profil |
webguru:
„Čo máš na riadku 27?“ Zjavne funkciu mysql_connect . :-) (Pardon, Karlos ma stačil predbehnúť.) Myslím si však, že samotná hláška s problémom priamo nesúvisí.
|
||
Karlos Profil * |
#8 · Zasláno: 6. 4. 2015, 21:05:34
Tomáš123, Tomáš123:
Vypíše mi to hodnotu null |
||
Tomáš123 Profil |
#9 · Zasláno: 6. 4. 2015, 21:07:49
Karlos:
Obsahuje tá tabuľka niečo? Zmenil si názov tabuľky na riadku 3 $query = "SELECT * FROM `nazov_tabulky`"; ?
|
||
lionel messi Profil |
Karlos:
Čo vypíše toto: $localhost = "localhost"; $user = "root"; $password = ""; $databaze = "tabulka"; $link = mysqli_connect($localhost, $user, $password, $databaze); if (mysqli_connect_error()) { echo "Chyba pripojenia: ". mysqli_connect_error(); } Tomáš123: V [#4] máš prehodené parametre funkcie mysqli_query, najprv je spojenie, až potom dotaz. |
||
Karlos Profil * |
#11 · Zasláno: 6. 4. 2015, 21:13:24 · Upravil/a: Karlos
Tomáš123:
Jo... píše to: ( ! ) Warning: mysqli_connect(): in C:\wamp\www\zpracuj.php on line 29 Call Stack # Time Memory Function Location 1 0.0010 133088 {main}( ) ..\zpracuj.php:0 2 0.0010 133568 mysqli_connect ( ) ..\zpracuj.php:29 ( ! ) Warning: mysqli_query() expects parameter 1 to be mysqli, string given in C:\wamp\www\zpracuj.php on line 31 Call Stack # Time Memory Function Location 1 0.0010 133088 {main}( ) ..\zpracuj.php:0 2 0.0180 134128 mysqli_query ( ) ..\zpracuj.php:3 lionel messi: Nepíše nic... |
||
lionel messi Profil |
Karlos:
„ ( ! ) Warning: mysqli_query() expects parameter 1 to be mysqli, string given in C:\wamp\www\zpracuj.php on line 31 “
To je práve spôsobené prehodením parametrov, o ktorom píšem v zmienenom príspevku. |
||
Karlos Profil * |
#13 · Zasláno: 6. 4. 2015, 21:16:28
lionel messi:
Nevypisuje nic |
||
Tomáš123 Profil |
#14 · Zasláno: 6. 4. 2015, 21:24:54
Karlos:
„Nevypisuje nic“ Takže pri spojení s databázou nenastala chyba. |
||
Karlos Profil * |
#15 · Zasláno: 6. 4. 2015, 21:28:20 · Upravil/a: Karlos
Ano, ale jen tam napíšu:
ř.34 $query = "SELECT * FROM `tab`"; ř.35 $result = mysqli_query($query, $connection); Už to píše: Notice: Undefined variable: connection in C:\wamp\www\zpracuj.php on line 29 Call Stack # Time Memory Function Location 1 0.0120 133416 {main}( ) ..\zpracuj.php:0 ( ! ) Warning: mysqli_query() expects parameter 1 to be mysqli, string given in C:\wamp\www\zpracuj.php on line 29 Call Stack # Time Memory Function Location 1 0.0120 133416 {main}( ) ..\zpracuj.php:0 2 0.0160 134320 mysqli_query ( ) ..\zpracuj.php:29 Úprava... $query = "SELECT * FROM `tab`"; $result = mysqli_query($query, $link); A píše: Warning: mysqli_query() expects parameter 1 to be mysqli, string given in C:\wamp\www\zpracuj.php on line 35 Call Stack # Time Memory Function Location 1 0.0010 133384 {main}( ) ..\zpracuj.php:0 2 0.0280 141032 mysqli_query ( ) ..\zpracuj.php:35 |
||
lionel messi Profil |
#16 · Zasláno: 6. 4. 2015, 21:29:42
Karlos:
„ $result = mysqli_query($query, $connection); “
Nahraď za: $result = mysqli_query($connection, $query); |
||
Karlos Profil * |
#17 · Zasláno: 6. 4. 2015, 21:34:33
lionel messi:
Nepíše nic, ale v tabulce něco mám. |
||
Tomáš123 Profil |
#18 · Zasláno: 6. 4. 2015, 21:37:36
Karlos:
Výsledok kódu lionela messiho [#10] potvrdil, že pri spájaní s databázou ku chybe nedošlo. Upravená varianta, kódu ktorý som sem dal vyššie my vypíše výsledok (ak nezabudnem na koniec pridať var_dump() , čo je pravdepodobne tvoj prípad).
|
||
lionel messi Profil |
Karlos:
„Nepíše nic, ale v tabulce něco mám.“ Aké stĺpce sú v tabuľke? Toto nevypíše nič? $query = "SELECT * FROM `tab`"; $result = mysqli_query($connection, $query); if(mysqli_error($connection)) { echo mysqli_error($connection); } else { while($row = mysqli_fetch_assoc($result)) { echo $row["id"]; } } |
||
Tomáš123 Profil |
lionel messi:
Hlási lebo si zamenil poradie tých argumentov, hah. |
||
lionel messi Profil |
#21 · Zasláno: 6. 4. 2015, 21:45:06
Tomáš123:
> lionel messi: > Hlási lebo si zamenil poradie tých argumentov, hah. Nie nadarmo je copy/paste najhoršia metóda programovania. :-) Ďakujem za upozornenie, opravené. |
||
Karlos Profil * |
#22 · Zasláno: 6. 4. 2015, 21:46:57
lionel messi:
Jop píše to 12 Mám tam 2 řádky takže faká ;) |
||
juriad Profil |
#23 · Zasláno: 6. 4. 2015, 21:53:49
lionel messi:
Jak se liší tvé proměnné $link a $connection? Lidi, můžete si začít dávat pozor na takové prkotiny? Zkušený uživatel si s tím sám poradí (kód bere spíš jako pseudokód). Začátečníka to na hodinu zaměstná, a pak má dojem, že je to šíleně těžké, když mu nedokáží na takovou jedoduchou věc zkušení odpovědět správně. Přitom by v tomto případě krásně šlo napsat jeden zdroják tak, že bude správně a bude postupně testovat, co vše funguje. Sice by to trvalo o minutu déle a k tomuto „chatu“ by nedošlo. Karlos: Tvé starší vlákno jsem přejmenoval na Uložení dat do databáze, to jen kdybys ho nemohl najít. |
||
lionel messi Profil |
juriad:
> lionel messi: > Jak se liší tvé proměnné $link a $connection? Po funuse, ale opravené. Poučenie pre mňa: Radšej kód prepísať znovu celý a poriadne, než lepiť. Tomáš123 použil $connection , ja zo zvyku inklinujem k $link a pri kopírovaní som si nedal pozor.
„Lidi, můžete si začít dávat pozor na takové prkotiny?“ Sľubujem, že sa odteraz budem lepšie sústrediť. |
||
Karlos Profil * |
#25 · Zasláno: 6. 4. 2015, 22:02:50
Chlapi díky za pomoc při velikonočním večeru ;)
|
||
Tomáš123 Profil |
#26 · Zasláno: 6. 4. 2015, 22:06:40 · Upravil/a: Moderátor (editace znemožněna) 7. 4. 2015, 19:47:33
juriad:
Chcel som ťa zavolať. V oblasti databáz som vlastne začiatočník a i keď som tušil podstatu chyby, urobil som v kóde chybu, čo Karlosa zneistilo a rozviedla sa dlhá zbytočná diskusia. Vlastne, presne ako píšeš. Mohol by si prosím>mm vlákno prečistiť aspoň od príspevkov [#5], [#6], [#7], [#9], [#12], [#13], [#20], [#21], [#24] a [#26]? V príspevku [#10] a [#18] budú potom rozbité kotvy. Prepáč za prácu navyše. Moderátor juriad: Moc se mi nechce retušovat historii; je cenným důkazem pro případy ucházení se o moderátorství
|
||
Časová prodleva: 10 let
|
0