【发布时间】:2018-10-17 11:35:00
【问题描述】:
我正在使用 000webhost 来托管我的网站。
我正在尝试实现这个流程:
- 接收关于给定日期和班次的文件;
- 删除数据库中存在的有关该日期和班次的任何信息;
- 插入接收到的信息;
我在执行第二步时遇到了问题。我使用的代码是这样的:
$cleanupSql = "DELETE FROM `Turnos` WHERE Dia = :Dia AND Turno = :Turno ";
$cleanupSth = $conn->prepare($cleanupSql);
(...)
$temp = date_format($date,"Y-m-d");
$cleanupSth->bindParam(':Dia',$temp,PDO::PARAM_STR);
$cleanupSth->bindParam(':Turno',$splited[2],PDO::PARAM_STR);
$cleanupSth->execute();
$temp 等于 2018-10-18 并且 splited[2] 为“1”。 date 类型的 dia 和 varchar 类型的 Turno。 PHP没有出现任何错误,但数据库没有改变。
我也试过用 ?参数,传递 dateTime 对象。
当我在数据库中运行此查询时,它可以工作
DELETE FROM `Turnos` WHERE Dia = "2018-08-18" AND Turno = "1"
编辑:我已修改脚本以运行查询,如下所示:
$cleanupSql = "DELETE FROM `Turnos` WHERE Turno = :Turno ";
但它不会反映在数据库上。
【问题讨论】:
-
2018-10-18和2018-08-10不是同一个日期。您是否尝试过使用Dia = "2018-10-18"在数据库中运行查询? -
2018-10-18!=2018-08-10" -
写这个问题的时候打错了。对不起..
-
你能显示查询吗? ($cleanupSth->queryString())
-
它不会返回任何不同的东西。从
Turnos删除,其中 Dia = :Dia AND Turno = :Turno。是 ->queryString 吗?
标签: php mysql pdo prepared-statement web-hosting