PHP mysqli_query nic nevrátí

ZAJDAN

  • *****
  • 2 110
PHP mysqli_query nic nevrátí
« kdy: 14. 10. 2014, 15:39:43 »
Ahoj,
zrovna sestrojuju v PHP ziskani dat z Databaze do formatu JSON, ale narazim na problem uz na samotnem zacatku:

$connection=mysqli_connect("localhost","user","pass","db");

$result = mysqli_query( $connection, " SELECT * FROM configuration ");

echo $result ;


echo nevrátí nic
zkusil jsem tedy zda dojde k jiné akci v DB jako třeba:

mysqli_query($connection,"INSERT INTO configuration (ID)
VALUES ('ZZH')  ");


při kontrole v databázi se INSERT dat skutečně provede, proč ale nedokážu do proměné dostat obsah tabulky přes SELECT netuším.
díky za pomoc
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.


Pavouk106

  • *****
  • 2 400
Re:PHP mysqli_query
« Odpověď #1 kdy: 14. 10. 2014, 15:50:40 »
Divné.

Z vlastní (prasácké) zkušenosti obaluju názvy tabulek a sloupců znakama `` (`table`) a nedělám zbytečný mezery (to je ale asi jen o zvyku). mysqli_query nejde jednoduše echovat, píše to nějaký kraviny, že to prostě nejde.

Zkus:
echo var_dump($vysledek);

To něco vysype, pokud je vše ok.
  • Jabber: pavouk106@gmail.com

ixo333

Re:PHP mysqli_query
« Odpověď #2 kdy: 14. 10. 2014, 15:51:44 »
S mysqli  som nikdy nerobil ale asi to bude  podobné  plnohodnotnému  mysql, takže nejak takto :

$connection=mysqli_connect("localhost","user","pass","db");
$result = mysqli_query( $connection, " SELECT * FROM configuration ");

while($mysql_array=mysql_fetch_array($result)) {
print_r($mysql_array);
}

3ugeene

Re:PHP mysqli_query
« Odpověď #3 kdy: 14. 10. 2014, 15:53:15 »
musis tim iterovat



$connection=mysqli_connect("localhost","user","pass","db");
    if ($result = $mysqli_query(connection, "SELECT * FROM configuration") {
        while($obj = $result->fetch_object()){
            var_dump($obj);
        }
    }

Pavouk106

  • *****
  • 2 400
Re:PHP mysqli_query
« Odpověď #4 kdy: 14. 10. 2014, 15:56:09 »
Citace od: robin martinez kdy 14. 10. 2014, 15:53:15

$result->fetch_object()

Tohle je OOP? Já používám mysqli_fetch_array (OOP jsem zatím nepochopil/nepotřeboval).
  • Jabber: pavouk106@gmail.com


3ugeene

Re:PHP mysqli_query
« Odpověď #5 kdy: 14. 10. 2014, 15:57:08 »
Citace od: Pavouk106 kdy 14. 10. 2014, 15:56:09
Tohle je OOP? Já používám mysqli_fetch_array (OOP jsem zatím nepochopil/nepotřeboval).


je to jedno, bud chces pole nebo objekt :)

ZAJDAN

  • *****
  • 2 110
Re:PHP mysqli_query
« Odpověď #6 kdy: 14. 10. 2014, 16:08:23 »
Citace od: Pavouk106 kdy 14. 10. 2014, 15:50:40
Divné.

Z vlastní (prasácké) zkušenosti obaluju názvy tabulek a sloupců znakama `` (`table`) a nedělám zbytečný mezery (to je ale asi jen o zvyku). mysqli_query nejde jednoduše echovat, píše to nějaký kraviny, že to prostě nejde.

Zkus:
echo var_dump($vysledek);

To něco vysype, pokud je vše ok.

ok..nyní mi to vrátí:
object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(32) ["lengths"]=> NULL ["num_rows"]=> int(35) ["type"]=> int(0) }
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

ZAJDAN

  • *****
  • 2 110
Re:PHP mysqli_query
« Odpověď #7 kdy: 14. 10. 2014, 16:09:26 »
Citace od: robin martinez kdy 14. 10. 2014, 15:53:15
musis tim iterovat



$connection=mysqli_connect("localhost","user","pass","db");
    if ($result = $mysqli_query(connection, "SELECT * FROM configuration") {
        while($obj = $result->fetch_object()){
            var_dump($obj);
        }
    }

zkusil jsem ale nedumpne se nic...zadnej vystup neni videt
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

ZAJDAN

  • *****
  • 2 110
Re:PHP mysqli_query
« Odpověď #8 kdy: 14. 10. 2014, 16:12:38 »
Citace od: ixo333 kdy 14. 10. 2014, 15:51:44
S mysqli  som nikdy nerobil ale asi to bude  podobné  plnohodnotnému  mysql, takže nejak takto :

$connection=mysqli_connect("localhost","user","pass","db");
$result = mysqli_query( $connection, " SELECT * FROM configuration ");

while($mysql_array=mysql_fetch_array($result)) {
print_r($mysql_array);
}

zadnej vypis ...potom jsem print_r($mysql_array); jsem nahradil var_dump($mysql_array); ovsem take neslo nic ven
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

Pavouk106

  • *****
  • 2 400
Re:PHP mysqli_query
« Odpověď #9 kdy: 14. 10. 2014, 16:20:10 »
Máš v tý tabulce sloupec ID. Pak by to mohlo být např.
...
while($mysql_array=mysql_fetch_array($result)) {
  echo $mysql_array['ID'];
}


Ten while při každym průběhu posune pole o jeden řádek a v $mysql_array bude vždy ten jeden aktuální řádek.
  • Jabber: pavouk106@gmail.com

Pavouk106

  • *****
  • 2 400
Re:PHP mysqli_query
« Odpověď #10 kdy: 14. 10. 2014, 16:21:33 »
Citace od: ZAJDAN kdy 14. 10. 2014, 16:08:23
ok..nyní mi to vrátí:
object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(32) ["lengths"]=> NULL ["num_rows"]=> int(35) ["type"]=> int(0) }

A tohle Ti říká, že v proměnný něco je, takže mysqli_result něco vrátil. ["num_rows"]=> int(35) dokonce říká, že 35 řádků.
  • Jabber: pavouk106@gmail.com

ZAJDAN

  • *****
  • 2 110
Re:PHP mysqli_query
« Odpověď #11 kdy: 14. 10. 2014, 16:25:36 »
Citace od: Pavouk106 kdy 14. 10. 2014, 16:21:33
Citace od: ZAJDAN kdy 14. 10. 2014, 16:08:23
ok..nyní mi to vrátí:
object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(32) ["lengths"]=> NULL ["num_rows"]=> int(35) ["type"]=> int(0) }

A tohle Ti říká, že v proměnný něco je, takže mysqli_result něco vrátil. ["num_rows"]=> int(35) dokonce říká, že 35 řádků.
a přesně to jsem potřeboval zjistit, zda ta proměná něco obsahuje...díky
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

ZAJDAN

  • *****
  • 2 110
Re:PHP mysqli_query
« Odpověď #12 kdy: 14. 10. 2014, 16:28:56 »
Citace od: Pavouk106 kdy 14. 10. 2014, 16:21:33
Citace od: ZAJDAN kdy 14. 10. 2014, 16:08:23
ok..nyní mi to vrátí:
object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(32) ["lengths"]=> NULL ["num_rows"]=> int(35) ["type"]=> int(0) }

A tohle Ti říká, že v proměnný něco je, takže mysqli_result něco vrátil. ["num_rows"]=> int(35) dokonce říká, že 35 řádků.
ano sloupec 'ID' je v tabulce obsažen.....zkusil jsem to tedy jak tady uvádíš, ale echo nevrátí nic
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

Kit

Re:PHP mysqli_query
« Odpověď #13 kdy: 14. 10. 2014, 16:33:39 »
Citace od: ZAJDAN kdy 14. 10. 2014, 15:39:43
při kontrole v databázi se INSERT dat skutečně provede, proč ale nedokážu do proměné dostat obsah tabulky přes SELECT netuším.

mysqli_query() vrací jen deskriptor výsledku.

Projdi si http://php.net/manual/en/mysqli.query.php, je tam dost příkladů.

Doporučuji přejít na PDO.

Kit

Re:PHP mysqli_query
« Odpověď #14 kdy: 14. 10. 2014, 16:38:19 »
Citace od: ixo333 kdy 14. 10. 2014, 15:51:44
S mysqli  som nikdy nerobil ale asi to bude  podobné  plnohodnotnému  mysql, takže nejak takto :

MySQLi _je_ plnohodné, ale starý MySQL_* už za plnohodnotný považovat nelze. Bude z PHP vyhozen.

Funkce pro mysqli_* a mysql_* nesmíš kombinovat.