首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么此查询在指定日期时不起作用?

为什么此查询在指定日期时不起作用?
EN

Stack Overflow用户
提问于 2019-05-20 06:30:08
回答 2查看 49关注 0票数 0

我已经使用php连接了我的数据库。当我按下delete按钮时,一个php文件连接到另一个php文件,该文件包含以下代码:

代码语言:javascript
复制
<?php include("dbconfig.php");
 $memberID = $_GET['memberID'];
 $ISBN = $_GET['ISBN'];
 $copyNr = $_GET['copyNr'];
 $date_of_borrowing = $_GET['date_of_borrowing'];

//getting id of the data from url
$sql="DELETE FROM borrows WHERE ISBN=$ISBN AND memberID=$memberID AND copyNr=$copyNr AND date_of_borrowing=$date_of_borrowing";
$result = mysqli_query($conn,$sql);


//redirecting to the display page (borrows_table.php in our case)
//header("Location:borrows_table.php");

?>

当我运行这段代码时没有"AND date_of_borrowing=$date_of_borrowing";“它正确地删除了元组,但是当它显示出来时,什么也没有发生。我已经检查了变量memberID,ISBN,copyNr和date_of_borrowing在这个文件中给出的时候实际上是正确的。那么问题会是什么呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-20 15:11:58

在查询前创建一个回显$sql。Mysql只接受以下格式: YYYY-MM-DD HH:II:SS For Ex: 2019-05-20 12:39:30,并将日期放在引号中

代码语言:javascript
复制
$sql="DELETE FROM borrows WHERE ISBN=$ISBN AND memberID=$memberID AND copyNr=$copyNr AND date_of_borrowing='$date_of_borrowing'";

echo $sql;

$result = mysqli_query($conn,$sql);
票数 0
EN

Stack Overflow用户

发布于 2019-05-20 06:42:54

你犯的错误是日期字段解析错误的值mysql读取的日期为yyyy-mm-dd格式,所以你必须格式化你的$date_of_borrowing'yyyy-mm-dd'格式,然后它将正常工作。

代码语言:javascript
复制
$date = DateTime::createFromFormat('d/m/Y', $date_of_borrowing)->format('Y-m-d'); 

在我的例子中运行得很好,并确保将日期放在''

PS -请在处理数据之前进行一些过滤和mysql注入检查。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56212519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档