Différence entre mysqli_query() et mysqli_real_query()

Eléphant du PHP | 60 Messages

28 mai 2008, 11:35

Bonjour.

J'aimerais savoir s'il y a une vraie différence entre l'utilisation de mysqli_query() et l'utilisation de mysqli_real_query().

Dans la documentation, il est écrit qu'utiliser mysqli_query() avec éventuellement son dernier paramètre optionnel revient à utiliser mysqli_real_query() suivie de mysqli_store_result() ou mysqli_use_result() selon le besoin, et... c'est tout.

Mais alors, s'il n'y a pas de différence particulière, pourquoi y-a-t'il 2 fonctions différentes pour faire la même chose ???
Je pense en particulier à mysqli_connect() et mysqli_real_connect() qui ouvrent toutes les 2 une connexion à une base de données, mais avec des fonctionnalités différentes. Là, on dirait que c'est juste 2 façons différentes de faire exactement la même chose.

Quelqu'un aurait-il des infos supplémentaires ?

Merci d'avance
Ils ne savaient pas que c'était impossible, alors ils l'ont fait...

ViPHP
ViPHP | 4039 Messages

28 mai 2008, 12:37

Ah, mais il y a une différence capitale.

real_query execute un requête,

tandis que query l'effectue.

real_query ne retourneras jamais que TRUE ou FALSE

alors que query te permet de récuperer les résultats..

(c'est mal fait, ça c'est vrait. Ils auraient du appeler mysqli_real_query mysqli_exec)
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 60 Messages

28 mai 2008, 12:49

Ok, merci Berzemus, mais alors c'est quoi l'intérêt de real_query ???

Puisque de toute façon, le résultat de real_query ne pourra jamais être exploité tant qu'on n'aura pas appelé store_result ou use_result, qui produisent toutes les deux un résultat qu'on pourrait obtenir avec query...
Ils ne savaient pas que c'était impossible, alors ils l'ont fait...

ViPHP
ViPHP | 4039 Messages

28 mai 2008, 13:32

Ok, merci Berzemus, mais alors c'est quoi l'intérêt de real_query ???

Puisque de toute façon, le résultat de real_query ne pourra jamais être exploité tant qu'on n'aura pas appelé store_result ou use_result, qui produisent toutes les deux un résultat qu'on pourrait obtenir avec query...
d'éxecuter une requête, sans attendre de résultat, mais en se contentant de savoir si ça a réussi ou pas. (create, insert, update, par exemple).
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 60 Messages

28 mai 2008, 14:00

Ha, ok, super, merci.
Ils ne savaient pas que c'était impossible, alors ils l'ont fait...