【发布时间】:2015-05-02 19:39:06
【问题描述】:
我正在尝试将语言和代码连接为第二个查询并保存到数据库字段 litcode。 这是我的代码
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO library (spot,code,language,count) values(?, ?, ?,?);UPDATE library SET litcode = CONCAT(language, code);";
$q = $pdo->prepare($sql);
$q->execute(array($spot,$code,$language,$count));
Database::disconnect();
遇到这个错误
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens' in /home/booking/public_html/x/concat.php:46 Stack trace: #0 /home/booking/public_html/x/concat.php(46): PDOStatement->execute(Array) #1 {main} thrown in /home/booking/public_html/x/concat.php on line 5
这是代码 $q->execute(array($spot,$code,$language,$count)); 中的第 5 行
如何添加连接的单词 litcode?p>
【问题讨论】:
-
请查看此链接:-stackoverflow.com/questions/13098371/…。标记答案
-
为什么要在数据库中存储重复数据?除此之外,第二个查询将更新数据库中的每一行。您可以在 1 条语句中绑定 6 个变量,但为什么要这样做?
-
@jeroen,我想在数据库中保存这样的数据。
spot code language count litcodeShelf1 TA English 29 TA-English最后需要根据litcode进行排序和计数合并。 -
@jeroen 这是我打算最后做的合并代码
'SELECT litcode, SUM(count) as count FROM library GROUP BY litcode'如果我避免保存 litcode 字段,如何通过合并“语言”和“计数”来求和?
标签: php mysql sql database pdo