par
Ryle » 02 nov. 2008, 13:56
Première étape pour débugger une requête SQL : l'afficher !
Ben oui, parce que si tu sais pas ce que tu envois à MySQL, tu vas avoir du mal à savoir ce qui ne va pas dedans
Pour répondre à mrarobaz, le "." permet de concatener deux chaines. Il n'y a pas forcément intérêt à les séparer ici, mais dès fois ça peut être plus lisible de découper ses requêtes (et surtout ca permet de mettre des conditions sur certains éléments

)
Quoi qu'il en soit, le problème vient effectivement de là, puisque si l'on concatène les deux chaines on se retrouve avec un "SELECT * FROM prestationWHERE idprest ... " et forcément, MySQL risque d'avoir du mal à trouver la table "prestationWHERE"
Pour le implode, cette fonction permet de mettre tous les éléments d'un tableau dans une chaine, en les séparant par le caractère spécifié. Pas de problème ici, par contre on peut envisager de supprimer les doublons du tableau avant d'y faire appel

Première étape pour débugger une requête SQL : l'afficher !
Ben oui, parce que si tu sais pas ce que tu envois à MySQL, tu vas avoir du mal à savoir ce qui ne va pas dedans ;)
Pour répondre à mrarobaz, le "." permet de concatener deux chaines. Il n'y a pas forcément intérêt à les séparer ici, mais dès fois ça peut être plus lisible de découper ses requêtes (et surtout ca permet de mettre des conditions sur certains éléments :))
Quoi qu'il en soit, le problème vient effectivement de là, puisque si l'on concatène les deux chaines on se retrouve avec un "SELECT * FROM prestationWHERE idprest ... " et forcément, MySQL risque d'avoir du mal à trouver la table "prestationWHERE" ;)
Pour le implode, cette fonction permet de mettre tous les éléments d'un tableau dans une chaine, en les séparant par le caractère spécifié. Pas de problème ici, par contre on peut envisager de supprimer les doublons du tableau avant d'y faire appel :)