mysql - 这个准备好的语句更新查询不起作用......为什么?

标签 mysql sql sql-update prepared-statement

$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();

其他信息:

  1. datedb 中的列名称。tb ...
  2. 当我从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/

相关文章:

sql - 从不同的 Controller 插入 yii2

MySQL SQL Union 给出奇怪的结果

MySQL 更新连接表

mySQL UPDATE 查询返回 "0 rows affected"

c# - 在一个 SqlCe 命令中创建多个表不起作用

php - 数据表 |如何做自己的选择?

java - 我无法将 Java 连接到 MySQL

mysql - 不接受超出范围的转换mysql go十进制

mysql - 循环中Mysql表消费者进程的行轮换

php - php | mysql 查询不起作用由 phpmyadmin 工作