php - 表中的数据不受使用 php 在 MySQL 数据库中的 DELETE 查询的影响
问题描述
我有一张表test
,我想删除其中的记录。我正在使用删除查询,但没有效果。我尝试在 SQL 选项卡中运行它,它在phpmyadmin
那里工作。但是,在php
代码中,它不起作用。这是HTML
代码
<form action="home.php" method="post">
<button class="button button3" type="button" onclick="return
toggleMe('del_tst')">Delete Test</button><br>
<div id="del_tst" style="display:none">
<input type="date" class="textstyle" name="tst_date" method="post"
placeholder="Enter test date" />
<button type="submit" class="subbutton button1" value="Delete"
method="post"
name="del_tst">Delete</button><br/>
</div>
</form>
这是php代码
if(isset($_POST['del_tst'])){
$tst_date= date('d-m-Y', strtotime( $_POST['tst_date'] ));
try{
$stmt_tst=$conn->prepare("DELETE FROM `test` WHERE `date`=:tst_date");
$stmt_tst->bindparam(":tst_date",$tst_date);
$result=$stmt->execute();
if($result===TRUE)
{
if(($stmt->rowCount())>0)
{
echo "<font color='white'> <i>record Deleted successfully!</i></font>";
}
else{
echo "<font color='white'> <i>No such record exists!</i></font>";
}
}
else{
echo "Something Went Wrong!";
}
return true;
}
catch(PDOException $e)
{
echo $e->getMessage();
return false;
}
}
我正在尝试删除使用条件的记录date
,WHERE
但不工作。这是数据库的截图
请和我一起解决这个问题。
解决方案
这部分不正确:
$stmt_tst=$conn->prepare("DELETE FROM `test` WHERE `date`='.$tst_date.'");
$stmt_tst->bindparam(":tst_date",$tst_date);
$result=$stmt->execute();
你应该改变它:
$stmt_tst=$conn->prepare("DELETE FROM `test` WHERE `date`=:tst_date");
$stmt_tst->bindparam(":tst_date",$tst_date);
$result=$stmt->execute();
在文档中查看更多信息。
此外,如果date
是 MySQLDATE
列,则应使用 ISO8601 日期(年份优先):
$tst_date= date('Y-m-d', strtotime( $_POST['tst_date'] ));
推荐阅读
- javascript - Vuetify 在不需要时添加滚动条
- excel - Excel:为每一行(在电子表格中)创建一个 .xml 文件(使用 VBA)
- javascript - Laravel 在 JavaScript 中的路径
- google-apps-script - 使用自动拒绝会议的 Google Script Api 创建外出日历事件
- python - pip 如何删除带有前导破折号的错误安装的软件包:“-pkgname”
- sql-server - IIF 在 SQL Select 的 Where 部分
- python - 如何删除列表中的数字并保持元素的重置?Python
- javascript - 如何等到页面完全加载
- azure - 资源 [] ARM 模板上的 copyIndex()
- laravel-5 - Auth::attempt 在 null 上调用成员函数 prepare()