Une requête SQL qui finit en OR DIE sans que je comprenne pourquoi... - PHP - Programmation
Marsh Posté le 06-02-2013 à 09:01:26
en PHP les string à l'intérieur de simples quotes ne sont pas interprettés (cf : http://php.net/manual/fr/language.types.string.php ). Donc là en l'occurence ta requête sera envoyée a mysql telle quelle (avec le $id).
Il faut construire ton string autrement.
Edit : sinon, tu as aussi la possibilité de récupérer l'erreur qui s'est produite sur mysql, voir http://php.net/manual/fr/function.mysql-error.php
Marsh Posté le 06-02-2013 à 15:41:03
Le soucis de la requête semble résolu, enfin je crois, mais nouveau soucis, mon code n'affiche toujours strictement rien, même pas d'erreur, et je ne sais pas d'ou vient le problème. ( Mes 4 tables sont construites en VARCHAR puisque l'ID est textuel et non numérique ).
<?php
// On annonce les paramètres de connexion
// Adresse de la base de données
$host = "****";
// Nom d'utilisateur
$user = "****";
// Nom de la base de données
$bdd = "****";
// Mot de passe de la base de données
$passwd = "****";
// Connexion au serveur
$link = mysql_connect($host,$user,$passwd) or die("erreur de connexion au serveur" );
// On selectionne la base de données
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees" );
// On définit l'ID de l'objet grâce à un $_get
$_id = $_GET["id"];
// On va chercher les infos correspondant à l'objet
// Creation et envoi de la requete
$result = mysql_query("SELECT id,icone,prix,description FROM tooltip_items WHERE id='$id'" ) OR DIE ('Erreur de la requête MYSQL');
// Recuperation des resultats
$row = mysql_fetch_array($result) or die('erreur de la requête row');
var_dump($row); // au lieu de echo $row['prix']
mysql_close();
?>
Marsh Posté le 06-02-2013 à 15:47:03
Je ne sais pas si c'est ça, mais tu fais d'un côté $_id et de l'autre $id.
au passage :
Code :
|
ce n'est pas très sécurisé, voir mysql_real_escape_string entre autres
Marsh Posté le 07-02-2013 à 08:33:20
Plutôt intval() ou (int) pour un entier.
Également, http://www.php.net/manual/fr/funct [...] orting.php
Marsh Posté le 06-02-2013 à 02:11:11
Salut à tous, j'ai codé un petit bout de script, qui ne fonctionne pas, et après l'avoir retourné sous toutes ses coutures, j'ai remarqué que le probleme venait de ma requête SQL, ( SELECT -- FROM -- WHERE -- = ), mais je ne sais pas pourquoi.
Voici le code :
mysql_connect($host,$user,$passwd) or die("erreur de connexion au serveur" );
// On selectionne la base de données
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees" );
// On définit l'ID de l'objet grâce à un $_get
$id = $_GET["id"];
// On va chercher les infos correspondant à l'objet
// Creation et envoi de la requete
$result = mysql_query(`SELECT id,icone,prix,description FROM tooltip_items WHERE id = [$id]`) OR DIE ('Erreur de la requête MYSQL');
// Recuperation des resultats
while($result = mysql_fetch_array($result))
{
echo $result->prix;
}
mysql_close();
?>
Je reçois un OR DIE ( Erreur de la requête MYSQL ) sans avoir d'erreur SQL ( du genre unexpected PARSE, etc... )
Quelqu'un aurait une idée ? Je bloque depuis 2h...
Merci d'avance,
cordialement.