OVH Cloud OVH Cloud

mysql_query : je comprends pas.

2 réponses
Avatar
Zouplaz
Bonjour j'ai une requête qui est provoque une erreur lorsqu'elle est
exécutée via mysql_query alors qu'elle ne provoque aucune erreur en dehors
de PHP (et retourne bien le résultat attendu).

$query="LOCK TABLES OrgaSecteurs READ; SELECT Max(OrgSectSCat) FROM
OrgaSecteurs; UNLOCK TABLES";

J'ai bien pris soin de ne pas inclure de ";" à la fin de la requête comme
spécifiée dans le manuel PHP

Le message d'erreur est :
SQL Error :You have an error in your SQL syntax. Check the manual that
corresponds to your MySQL server version for the right syntax to use near
'; SELECT Max(OrgSectSCat) FROM OrgaSecteurs; UNLOCK TABLES'

D'où ça vient ?

Merci

2 réponses

Avatar
satch
peut-etre en faisant 3 requette successives, ca devrait enlever le probleme
(mysql ne s'attend pas au ';' )

"Zouplaz" a écrit dans le message news:

Bonjour j'ai une requête qui est provoque une erreur lorsqu'elle est
exécutée via mysql_query alors qu'elle ne provoque aucune erreur en dehors
de PHP (et retourne bien le résultat attendu).

$query="LOCK TABLES OrgaSecteurs READ; SELECT Max(OrgSectSCat) FROM
OrgaSecteurs; UNLOCK TABLES";

J'ai bien pris soin de ne pas inclure de ";" à la fin de la requête comme
spécifiée dans le manuel PHP

Le message d'erreur est :
SQL Error :You have an error in your SQL syntax. Check the manual that
corresponds to your MySQL server version for the right syntax to use near
'; SELECT Max(OrgSectSCat) FROM OrgaSecteurs; UNLOCK TABLES'

D'où ça vient ?

Merci


Avatar
Zouplaz
satch - :

peut-etre en faisant 3 requette successives, ca devrait enlever le
probleme (mysql ne s'attend pas au ';' )



Oui je pourrais, mais pourtant ça fonctionne très bien à partir (par
exemple) de EMS MySQLManager. La requête retourne bien le résultat attendu.

La même exécutée à partir de PHP ne passe pas, pourtant la doc ne semble
pas indiquer d'impossibilité (plusieurs instructions sql dans la même
requête).

Le seul point soulevé est :

Note: The query string should not end with a semicolon.