$query="UPDATE `db`.`tb` SET `colA` = ?, `colB` = ?, `colC` = ?, `colD` = ?, `colE` = ?, `colF` = ?, `colG` = ? WHERE `tb`.`colA` = ? AND month(date)= ?;";
$stmt = $web_dbi->prepare($query);
$stmt->bind_param("sssssssss", $colA_PHPvar, $colB_PHPvar, $colC_PHPvar, $colD_PHPvar, $colE_PHPvar, $colF_PHPvar, $colG_PHPvar, $colA_PHPvar, $colB_PHPvar);
$stmt->execute();
其他信息:
date
是db
中的列名称。tb
...- 当我从Where 子句中删除
AND Month(date)= ?
及其相应的?
变量时,此查询将起作用...
最佳答案
弄清楚了...我通过 AJAX 传递了一个日期变量,该变量被格式化为月份的数字表示形式(即一月=1 ...),并包含 date
列要更新的列(在 MySQL 中格式为日期)(m-1-yyyy),而实际上我只需要Where子句中的 date
列(月份的数字表示成功匹配月份(date
)在数据库中并更新了其他字段,并且在更新date
时正确格式错误(数据库中的date
只是本月的第一天(m- 1-yyyy))(此处可以保持不变)...
$query="UPDATE `db`.`tb` SET `colA` = ?, `colB` = ?, `colC` = ?, `colE` = ?, `colF` = ?, `colG` = ? WHERE `tb`.`colA` = ? AND month(date)= ?;";
$stmt = $web_dbi->prepare($query);
$stmt->bind_param("sssssssss", $colA_PHPvar, $colB_PHPvar, $colC_PHPvar, $colE_PHPvar, $colF_PHPvar, $colG_PHPvar, $colA_PHPvar, $colB_PHPvar);
$stmt->execute();
(colD
和 $colD_PHPvar
是通过 AJAX 作为月份的数字表示形式传递的日期变量(即一月=1 ...)...
关于mysql - 这个准备好的语句更新查询不起作用......为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36180052/