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

  FORUM HardWare.fr
  Programmation
  PHP

  [php/sql] erreur non identifiable...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[php/sql] erreur non identifiable...

n°579056
rainckill
Posté le 29-11-2003 à 20:38:21  profilanswer
 

bonjour:)
voila l'erreur que je 'arrivepas a identifier :
 

Code :
  1. 1064: 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 '' at line 1


 
je ne voi pas de q<uoi ca peut venir, quelqu peut il maider ,
 
un autre probleme est que enfait cette erreur surgit apresle vote d'un sondage, alorsqu'il medit"impossible d'afficher la page" apres donc un reload,camarche etil me donne cette erreur...
 
en vous remerciant:)

mood
Publicité
Posté le 29-11-2003 à 20:38:21  profilanswer
 

n°579057
icewinddal​e
Posté le 29-11-2003 à 20:40:16  profilanswer
 

montre un peu ta quequette^W requête


Message édité par icewinddale le 29-11-2003 à 20:40:25
n°579058
ChamOis
Posté le 29-11-2003 à 20:40:40  profilanswer
 

c'est quoi la requete sql ? tu peux la mette :) ?


---------------
Hey! You wanna dance?
n°579062
rainckill
Posté le 29-11-2003 à 21:10:58  profilanswer
 

et bien voila la page concernée... enfait c'est un sondage très simple pris sur phpscrits : ici
 
 

Code :
  1. <? // connect to database
  2. if($poll_usePersistentConnects == 0)
  3. $poll_mySQL_ID = mysql_connect($poll_mySQL_host, $poll_mySQL_user, $poll_mySQL_pwd);
  4. else
  5. $poll_mySQL_ID = mysql_pconnect($poll_mySQL_host, $poll_mySQL_user, $poll_mySQL_pwd);
  6. // assume this vote is valid
  7. $poll_voteValid = 1;
  8. // first of all, check the IP locktable - in case the IP is in here,
  9. // then invalidate vote
  10. if($poll_IPLocking == 1)
  11. {
  12. // we have to check for locked IPs, first of all clear all IPs
  13. // that are already timed out
  14. $poll_result = mysql_db_query($poll_dbName, "SELECT * FROM $poll_IPTableName" );
  15. if(!$poll_result)
  16. {
  17.  echo mysql_errno(). ": ".mysql_error(). "<br>";
  18.  exit();
  19. }
  20. $current_time = time();
  21. while($poll_object = mysql_fetch_object($poll_result))
  22. {
  23.  // did this IP time out?
  24.  if(($poll_object->timeStamp + $poll_IPLockTimeout) < $current_time)
  25.   // it did time out, delete it from the table
  26.   @mysql_db_query($poll_dbName, "DELETE FROM $poll_IPTableName WHERE timeStamp=$poll_object->timeStamp" );
  27. }
  28. // now we're done deleting old IPs, so check if this IP is already in the locktable
  29. $poll_result = mysql_db_query($poll_dbName, "SELECT * FROM $poll_IPTableName WHERE (votersIP='$REMOTE_ADDR') AND (pollID=$poll_id)" );
  30. $poll_object = mysql_fetch_object($poll_result);
  31. if(!$poll_object)
  32.  // the IP is not yet in the locktable, so insert it
  33.  @mysql_db_query($poll_dbName, "INSERT INTO $poll_IPTableName (pollID, voteID, votersIP, timeStamp) VALUES ($poll_id, $poll_voteNr, '$REMOTE_ADDR', $current_time)" );
  34. else
  35.  // the IP is already in the table => the vote must be invalid
  36.  $poll_voteValid = 0;
  37. }
  38. // now check for cookies
  39. if($poll_setCookies == 1)
  40. {
  41. // we have to check for cookies, so get timestamp of this poll
  42. $poll_result = mysql_db_query($poll_dbName, "SELECT timeStamp FROM $poll_descTableName WHERE pollID=$poll_id" );
  43. if(!$poll_result)
  44. {
  45.  echo mysql_errno(). ": ".mysql_error(). "<br>";
  46.  exit();
  47. }
  48. $poll_object = mysql_fetch_object($poll_result);
  49. $poll_timeStamp = $poll_object->timeStamp;
  50. $poll_cookieName = $poll_cookiePrefix.$poll_timeStamp;
  51. // check if cookie exists
  52. if($$poll_cookieName == "1" )
  53.  // cookie exists, invalidate this vote
  54.  $poll_voteValid = 0;
  55. else
  56.  // cookie does not exist yet, set one now
  57.  setCookie("$poll_cookieName", "1" );
  58. }
  59. // update database if the vote is valid
  60. if($poll_voteValid == 1)
  61. {
  62. $poll_result = mysql_db_query($poll_dbName, "UPDATE $poll_dataTableName SET optionCount=optionCount+1 WHERE (pollID=$poll_id) AND (voteID=$poll_voteNr)" );
  63. if(!$poll_result)
  64. {
  65.  echo mysql_errno(). ": ".mysql_error(). "<br>";
  66.  exit();
  67. }
  68. // log the vote in the logging table
  69. if($poll_logging == 1)
  70. {
  71.  $current_time = time();
  72.  $poll_result = mysql_db_query($poll_dbName, "INSERT INTO $poll_logTableName (pollID, voteID, votersIP, timeStamp) VALUES ($poll_id, $poll_voteNr, '$REMOTE_ADDR', $current_time)" );
  73.  if(!$poll_result)
  74.  {
  75.   echo mysql_errno(). ": ".mysql_error(). "<br>";
  76.   exit();
  77.  }
  78. }
  79. }
  80. else
  81. if($poll_warnCheaters == 1)
  82. {
  83.  // this vote is invalid, issue an error message
  84.  echo "<html><body>";
  85.  echo "You have already voted, your vote is being ignored. Please <a href=\"".$poll_forwarder."\">click here</a> to continue.";
  86.  echo "</body></html>";
  87. }
  88. // send header before outputting anything else, and only in case no warning has to be issued
  89. if(($poll_voteValid == 1) || ($poll_warnCheaters == 0))
  90. Header("Location: $poll_forwarder" );
  91. // a lot of browsers can't handle it if there's an empty page
  92. echo "<html><body></body></html>";
  93. // close link to database
  94. if($poll_usePersistentConnects == 0)
  95. mysql_close($poll_mySQL_ID);
  96. //////////////////////////////////////////////////////////////////////
  97. ?>


 
merci ! :jap:

n°579109
gizmo
Posté le 29-11-2003 à 22:39:39  profilanswer
 

euh... oui mais non. Moi ce qui m'intéresse, ce nes pas le script qui génère la requète, mais la requète juste avant qu'elle ne soit exécutée. Un simple echo quoi.

n°579141
Mara's dad
Yes I can !
Posté le 29-11-2003 à 23:16:43  profilanswer
 

Ben quoi gizmo t'es pas devin ?
 
Putains les gars faisez un effort !
 
Rainckill a un grâve problème avec sa requête SQL.
Ce serait gentil de l'aider.
 
LE FAIT QU'il NE PENSE MEME PAS 1 SECONDE A DONNER LA REQUETE EN QUESTION NE DEVRAIT PAS ETRE UN PROBLEME POUR LES DIEUX DE CE FORUM.
 
C'est tout simple pourtant non, il donne la réponse dans son premier post :

Citation :

You have an error in your SQL syntax.


 
Heu Rainckill, ton problème, c'est une erreur de syntaxe dans une requête SQL :D


Message édité par Mara's dad le 29-11-2003 à 23:17:19

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°579161
ChamOis
Posté le 29-11-2003 à 23:40:51  profilanswer
 

Mara's dad a écrit :

Ben quoi gizmo t'es pas devin ?
 
Putains les gars faisez un effort !
 
Rainckill a un grâve problème avec sa requête SQL.
Ce serait gentil de l'aider.
 
LE FAIT QU'il NE PENSE MEME PAS 1 SECONDE A DONNER LA REQUETE EN QUESTION NE DEVRAIT PAS ETRE UN PROBLEME POUR LES DIEUX DE CE FORUM.
 
C'est tout simple pourtant non, il donne la réponse dans son premier post :

Citation :

You have an error in your SQL syntax.


 
Heu Rainckill, ton problème, c'est une erreur de syntaxe dans une requête SQL :D


 
euh ..  :heink:


---------------
Hey! You wanna dance?
n°579165
Mara's dad
Yes I can !
Posté le 29-11-2003 à 23:47:19  profilanswer
 

chamois a écrit :


 
euh ..  :heink:  


J'en ai juste marre des gens qui posent des questions sans aucun contexte et à qui il faut tirer les vers du nez en posant plein de questions complémentaires à propos de leur problème.
 
Ici, le gars ne se pose aucune question. Il a un message d'erreur, et quand on lui demande la requête, il poste un bout de code qu'il avoue avoir pompé (ce qu'il à tout à fait le droit de faire).  
 
Mias il ne comprend rien à ce qu'il fait, il n'essaye même pas et il compte sur les autres pour résourdre ses problèmes.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°579168
ChamOis
Posté le 29-11-2003 à 23:49:52  profilanswer
 

Mara's dad a écrit :


J'en ai juste marre des gens qui posent des questions sans aucun contexte et à qui il faut tirer les vers du nez en posant plein de questions complémentaires à propos de leur problème.
 
Ici, le gars ne se pose aucune question. Il a un message d'erreur, et quand on lui demande la requête, il poste un bout de code qu'il avoue avoir pompé (ce qu'il à tout à fait le droit de faire).  
 
Mias il ne comprend rien à ce qu'il fait, il n'essaye même pas et il compte sur les autres pour résourdre ses problèmes.


 
ah ok ;)


---------------
Hey! You wanna dance?
n°579306
rainckill
Posté le 30-11-2003 à 09:52:43  profilanswer
 

mais si j'ai fait celac'est peut etre que je n'arrive pas a identifier le probleme (cf le titre....) et donc que je ne vois pas d'ou il vient... il me dit ligne 1 mais il n'y a rien d'interressant a cette ligne...
 
j'ai bien comprisque c'était une erreur de syntaxe... mais cela ne m'avance pas tellement ici...
 
c'est pour cela que j'ai voulu faire appel a votre aide...

mood
Publicité
Posté le 30-11-2003 à 09:52:43  profilanswer
 

n°579307
Mara's dad
Yes I can !
Posté le 30-11-2003 à 10:01:07  profilanswer
 

C'est une erreur MySql, pas PHP.
Le numéro de la ligne se rapporte à la requête et pas au code PHP...
PS: Une requête peut être sur plusieurs lignes.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°579308
rainckill
Posté le 30-11-2003 à 10:02:58  profilanswer
 

donc ligne 1 =1ere requete sql ?

n°579309
Mara's dad
Yes I can !
Posté le 30-11-2003 à 10:15:15  profilanswer
 

Non !
 
Ton script fait plusieurs requête, mais chacune peut être sur plusieurs lignes :
 
exemple:
Requete sur une ligne. S'il y a erreur, elle sera forcément sur la ligne 1
SELECT * FROM MA TABLE
 
Requete sur plusieurs lignes :
SELECT
    *
FROM
    MA TABLE
WHERE
    CHAMPS_1='toto'
    AND STATUS >= 12
ORDER BY
    DATE_IN
 
 
Après chaque execution de requête dans ton code PHP, tu as un bloc qui traite le cas d'erreur MySql :
{
     echo mysql_errno(). ": ".mysql_error(). "<br>";
     exit();
}
 
C'est ce bloc qui affiche le message que tu as.
 
Il faut donc identifier lequel, et si possible afficher la requête en question. Exemple :
Remplace :

Code :
  1. $poll_result = mysql_db_query($poll_dbName, "SELECT * FROM $poll_IPTableName" );
  2. if(!$poll_result)
  3. {
  4. echo mysql_errno(). ": ".mysql_error(). "<br>";
  5. exit();
  6. }


 
par çà :

Code :
  1. $poll_SQL = "SELECT * FROM $poll_IPTableName";
  2. $poll_result = mysql_db_query($poll_dbName, $poll_SQL);
  3. if(!$poll_result)
  4. {
  5. echo mysql_errno(). ": ".mysql_error(). "<br>";
  6. echo "Requete \$poll_SQL = '$poll_SQL'"<br>";
  7. exit();
  8. }


 
Modifie ton code pour toutes les requêtes, ou mieux, fait une fonction pour éviter d'écrire tout le temps la même chose.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°579310
Mara's dad
Yes I can !
Posté le 30-11-2003 à 10:21:32  profilanswer
 

Exemple de fonction :

Code :
  1. function run_sql( $DB, $SQL )
  2. {
  3. if( ! $result = mysql_db_query($DB, $SQL) )
  4. {
  5.  echo mysql_errno(). ": ".mysql_error(). "<br>"; 
  6.  echo "Base \$DB = '$DB'"<br>"; 
  7.  echo "Requete \$SQL = '$SQL'"<br>"; 
  8.  exit();
  9. }
  10. return( $result );
  11. }


 
Dans ton code PHP, remplace alors le appels à mysql_db_query() par run_sql.
Exemple :
 
Remplace :  

Code :
  1. $poll_result = mysql_db_query($poll_dbName, "SELECT * FROM $poll_IPTableName" ); 
  2. if(!$poll_result) 
  3. echo mysql_errno(). ": ".mysql_error(). "<br>"; 
  4. exit(); 
  5. }

 
 
par çà :

Code :
  1. $poll_result = run_sql($poll_dbName, "SELECT * FROM $poll_IPTableName" );


 
OK ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°579346
gizmo
Posté le 30-11-2003 à 12:00:34  profilanswer
 

(j'adore [:ddr555])

n°579417
Mara's dad
Yes I can !
Posté le 30-11-2003 à 14:41:25  profilanswer
 

Ta gueule :o


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.

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

  [php/sql] erreur non identifiable...

 

Sujets relatifs
Erreur sous Visual Basic 6[Postgres] pb de connexion via JDBC : "erreur peu commune"
Où est l'erreur ?[MySQL] Erreur de syntaxe que je ne comprend pas ! (aléatoire en plus)
[access] erreur MsgBoxVirer les doublons des combobox [erreur inside]
Envoie de mails: Erreur 550 Rejected by final destinationCode d'erreur
[VB] problème erreur HELPerreur exécution...
Plus de sujets relatifs à : [php/sql] erreur non identifiable...


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)