用pdo在准备好的语句中传递日期sql类型

qco9c6ql  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(235)

我正在使用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,拆分后的[2]为“1”。date型直径和varchar型turno。php没有出现任何错误,但是数据库没有改变。
我也试过用?params,传递datetime对象。
当我在数据库中运行这个查询时,它就工作了

DELETE FROM `Turnos` WHERE Dia = "2018-08-18" AND Turno  = "1"

编辑:我修改了脚本以运行查询,如下所示:

$cleanupSql = "DELETE FROM `Turnos` WHERE Turno  = :Turno ";

但它并没有反映在数据库中。

cnjp1d6j

cnjp1d6j1#

问题是我获取turno param信息的方式。没有正确消毒。

相关问题