erreur query was empty

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : erreur query was empty

par Florent » 25 nov. 2005, 07:52

Merci bien à tous

par charabia » 24 nov. 2005, 20:45

Cependant j'ai une question toute simple :
Dans ma requête j'ai écrit : '$village'
Vous écrivez : '".$village."'"
Pouquoi le . est il utile, puisque sans, ça marche ?
Tout dépend du codeur, les . que tu vois servent à faire la concaténation. Perso je préfère concaténer de cette manière pour différencier rapidement les variables ;)

N'oublies pas de mettre le [Résolu] !

par Florent » 24 nov. 2005, 20:04

J'ai résolu le problème :
Bien plus loin dans le code, dans un fichier inclus j'avais plusieurs requête de ce style :
$sql = "SELECT locataire FROM maison where village='".$village."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$sql2 = "SELECT chose FROM table where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

La deuxième ligne de la deuxième requête fait un query vers sql au lieu de sql2
Voilà l'erreur

Merci de m'avoir aidé.

Cependant j'ai une question toute simple :
Dans ma requête j'ai écrit : '$village'
Vous écrivez : '".$village."'"
Pouquoi le . est il utile, puisque sans, ça marche ?

par mere-teresa » 24 nov. 2005, 18:49

C'est pas fetch alors ?

par Florent » 24 nov. 2005, 18:47

Les parties incluses neutralisée une à une je me retrouve avec l'erreur suivante :

Erreur SQL !Resource id #11
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 'Resource id #11' at line 1

Parcontre je ne vois ce qu'est le "Resource id #11"

par Florent » 24 nov. 2005, 18:24

Le poster, c'est pas que je ne veux pas mais y'en a des pages.

J'ai essayer un truc :
J'ai coller dans un nouveau fichier le bout de code + les paramètres pour se connecter et là ça marche sans erreur.

Donc je pense que l'erreur vient d'ailleurs, alors je vais neutralise cette partie et faire des essais.

par zeus » 24 nov. 2005, 18:11

Postes ton code dans l'état actuel afin que j'essaye chez moi

par Florent » 24 nov. 2005, 18:07

J'obtiens ça :
okfloat(385.6) Erreur SQL !

Query was empty

par zeus » 24 nov. 2005, 18:00

A mon avis, c'est la division de cette ligne qui pose pb
$locataire = $donnee['locataire'] / 5;
essaye comme ça :
$locataire = ($donnee['locataire']/5);

par Florent » 24 nov. 2005, 17:57

Désolé je me suis trompé j'avais fais des essais en neutralisant des lignes

Var_dump($locataire) me donne string(4) "1928"

Normalement dans la BDD locataire est de type bigint

par mere-teresa » 24 nov. 2005, 17:56

Il vaudrait mieux que tu fasses :
if($reponse = mysql_query("SELECT locataire FROM maison where village='$village' "))
{
  echo "phase poser requete OK<br />";
}
else
{
  echo "pas de requete posée<br />";
}

if($donnee = mysql_fetch_array($reponse))
{
  echo '<br> phase fetch  ok'; 
}
else
{
  echo "pas de résultats trouvés<br />";
}

par Invité » 24 nov. 2005, 17:52

si tu fait un var_dump sur $locataire, ça donne quoi ?
A ma grande surprise : NULL

Pourtant avec echo, la valeur affichée est correcte par rapport à ce qui est dans la BDD

par zeus » 24 nov. 2005, 13:57

si tu fait un var_dump sur $locataire, ça donne quoi ?

par Invité » 24 nov. 2005, 13:23

J'ai rajouté le mysql_error et le message d'erreur ne change pas.
J'ai executé la requette directement dans mon admin et le résultat est ok.

Donc je suppose que le problème vient d'ailleurs ?

Pourtant avec mon echo $locataire; le nombre affiché est correct et c'est ça que je ne comprend pas.....

par charabia » 23 nov. 2005, 21:05

Rajoutes un mysql_error pour voir ton erreur :
$sql = "SELECT locataire FROM maison where village='".$village."'";  
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
Ensuite testes directement ta requête dans phpMyAdmin pour voir si tu as un résultat.