Autor Zpráva
Karlos
Profil *
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
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 *
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
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
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 *
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 *
Tomáš123, Tomáš123:

Vypíše mi to hodnotu null
Tomáš123
Profil
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 *
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:
A môj kód v [#10] niečo vypisuje? Pardon, pôvodné znenie príspevku bolo napísané pred doplnením [#11].

( ! ) 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 *
lionel messi:

Nevypisuje nic
Tomáš123
Profil
Karlos:
Nevypisuje nic
Takže pri spojení s databázou nenastala chyba.
Karlos
Profil *
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
Karlos:
$result = mysqli_query($query, $connection);
Nahraď za:
$result = mysqli_query($connection, $query);
Karlos
Profil *
lionel messi:

Nepíše nic, ale v tabulce něco mám.
Tomáš123
Profil
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
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 *
lionel messi:

Jop píše to 12
Mám tam 2 řádky takže faká ;)
juriad
Profil
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 *
Chlapi díky za pomoc při velikonočním večeru ;)
Tomáš123
Profil
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ímmm 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í

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0