开发者

Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax;

when i try to execute an update statement i got the followi开发者_Python百科ng error :

Erreur : SQLSTATE[42000]: Syntax error or access violation: 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 'Issy-les-Moulineaux ' where ssiphone_idstation=46' at line 1

my update statement is :

$bdd->exec("update ssiphone_stationdeservice set $cle='$element' where ssiphone_idstation=$id");

this is in a php code, THX in advance for your help :)

$cle and $element are in array, my code is :

 foreach($table1 as $cle => $element)
   {
   $bdd->exec("update ssiphone_stationdeservice set $cle='$element' where ssiphone_idstation=$id");
   }

now table1 is an array which contain the columns name of my table and its values :

$table1=array();
   $table1['ssiphone_etatstation']=$etat;
   $table1['ssiphone_commerce']=$commerce;
   $table1['ssiphone_stationdelavage']=$lavage;
   $table1['ssiphone_typescarburants']=$lescarburants;
   $table1['ssiphone_joursdelasemaine']=$jourssemaines;
   $table1['ssiphone_horaires ']=$this->horaires;
   $table1['ssiphone_telephone ']=$telephone;
   $table1['ssiphone_sensdecirculation ']=$this->sensDeCirculation;
   $table1['ssiphone_adresse ']=$this->adresse;
   $table1['ssiphone_ville']=$this->ville;
   $table1['ssiphone_departement']=$this->departement;
   $table1['ssiphone_nomstation ']=$this->nomStation;


Most likely your $cle variable isn't set, making the query look like:

... set ='Issy-les-moulineaux ' where ...

comment followup:

Change your code to look like this, then:

$query = "update ssiphone_stationdeservice set $cle='$element' where ssiphone_idstation=$id";
$result = $bdd->exec($query);
if ($result === FALSE) {
    print_r($bdd->errorInfo());
    die("Query: " . $query);
}

This way you have the complete query string in a variable you can inspect (e.g. by echoing out). Obviously there's something wrong with the query - but the mysql error string doesn't show the entire query, so you have to take measures to capture it.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜