Mysql语法错误......那应该不是吗?

时间:2016-04-20 12:48:26

标签: php mysql pdo

所以这是我从表中选择一些值的代码:

$req = $linkpdo->prepare('SELECT idPers FROM AERA.Personne WHERE nom= ?, prenom=?, profession=?, fonction=?, idAdresse=?');
$req->execute(array($nom,$prenom,$prof,$fonction,$idAdr));
$idPers = $req->fetchAll();

我从代码中的其他地方复制/粘贴它,它没有问题,我只是更改了变量名称,但是当我运行它时,我得到以下内容:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   靠近' prenom ='福特',专业='',fonction ='',idAdresse =' 1''在   第1行'

我有什么遗失的东西吗?一个额外的逗号或什么?如果另一双眼睛可以为我看这个,我感激不尽

修改 我花了太长时间研究这个问题,并且看不出愚蠢的错误。对不起,这是"非主题",但我没有其他人可以提供帮助,而且我花费了大量时间来修复它。

2 个答案:

答案 0 :(得分:1)

您不能使用WHERE这样的条件,条件应由ANDOR分隔,而不是以逗号(,)分隔。

例如:

$req = $linkpdo->prepare('SELECT idPers FROM AERA.Personne WHERE nom=? AND prenom=? AND profession=? AND fonction=? AND idAdresse=?');
$req->execute(array($nom,$prenom,$prof,$fonction,$idAdr));
$idPers = $req->fetchAll();

答案 1 :(得分:0)

我认为你做错了。其中,{逗号}应替换为AND / OR条件。

$linkpdo->prepare('SELECT idPers FROM AERA.Personne WHERE nom= ? AND prenom=? AND profession=? AND fonction=? AND idAdresse=?');