Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1178 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Une requête SQL qui finit en OR DIE sans que je comprenne pourquoi...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Une requête SQL qui finit en OR DIE sans que je comprenne pourquoi...

n°2174250
Ametsu
Posté le 06-02-2013 à 02:11:11  profilanswer
 

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.

mood
Publicité
Posté le 06-02-2013 à 02:11:11  profilanswer
 

n°2174258
x1fr
Posté le 06-02-2013 à 09:01:26  profilanswer
 

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


Message édité par x1fr le 06-02-2013 à 09:02:52

---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
n°2174327
Ametsu
Posté le 06-02-2013 à 15:41:03  profilanswer
 

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();
 
?>

n°2174329
x1fr
Posté le 06-02-2013 à 15:47:03  profilanswer
 

Je ne sais pas si c'est ça, mais tu fais d'un côté $_id et de l'autre $id.
 
au passage :

Code :
  1. $_id = $_GET["id"];


ce n'est pas très sécurisé, voir mysql_real_escape_string entre autres


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
n°2174428
bistouille
Posté le 07-02-2013 à 08:33:20  profilanswer
 

Plutôt intval() ou (int) pour un entier.
 
Également, http://www.php.net/manual/fr/funct [...] orting.php

n°2174433
x1fr
Posté le 07-02-2013 à 09:50:29  profilanswer
 

Il a précisé que c'était du texte :p


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Une requête SQL qui finit en OR DIE sans que je comprenne pourquoi...

 

Sujets relatifs
MS SQL Server 2005 Shrink FileConvertir un Varchar en int avec le SQL
Faire défiler le résultat d'une requête[Résolu] Changement mot de passe SQL chez Free ?
Script de traitement SQLScript de traitement SQL
Requete ACCESS avec Jointure entre 2 TablesPHP + Sql Server
Créer automatiquement des enrégistrements dans une table avec PL SQL[Resolu]Selection SQL pour QReport
Plus de sujets relatifs à : Une requête SQL qui finit en OR DIE sans que je comprenne pourquoi...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR