$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
... AND month(date)= ?
并且它是相应的?
变量时,此查询有效... 答案 0 :(得分:0)
想通了......我通过AJAX传递了一个日期变量,该变量被格式化为月份的数字表示(即1月= 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月= 1 ......)......