我已经使用php连接了我的数据库。当我按下delete按钮时,一个php文件连接到另一个php文件,该文件包含以下代码:
<?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在这个文件中给出的时候实际上是正确的。那么问题会是什么呢?
发布于 2019-05-20 15:11:58
在查询前创建一个回显$sql。Mysql只接受以下格式: YYYY-MM-DD HH:II:SS For Ex: 2019-05-20 12:39:30,并将日期放在引号中
$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);发布于 2019-05-20 06:42:54
你犯的错误是日期字段解析错误的值mysql读取的日期为yyyy-mm-dd格式,所以你必须格式化你的$date_of_borrowing到'yyyy-mm-dd'格式,然后它将正常工作。
$date = DateTime::createFromFormat('d/m/Y', $date_of_borrowing)->format('Y-m-d'); 在我的例子中运行得很好,并确保将日期放在''中
PS -请在处理数据之前进行一些过滤和mysql注入检查。
https://stackoverflow.com/questions/56212519
复制相似问题