我已经使用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实际上是否正确。那么可能是什么问题?
答案 0 :(得分:0)
在查询前回显$ sql。 MySQL仅接受以下格式 YYYY-MM-DD HH:II:SS 例如: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);
答案 1 :(得分:-1)
您遇到的错误是日期字段将错误的mysql读取日期解析为outer: // label the loop
while (lista.size()>0) {
for (RaceTurtle raceTurtle : lista) {
raceTurtle.raceStep();
if(raceTurtle.getX() > RaceWindow.X_END_POS) {
lista.remove(raceTurtle);
winners.add(raceTurtle);
}
if (lista.size()>0) {
break outer; // end the outer loop, preventing
// the possible iteration of nothing
}
w.delay(10);
}
}
格式,因此您必须将yyyy-mm-dd
格式化为$date_of_borrowing
格式,然后才能正常工作
'yyyy-mm-dd'
我的情况很好,请确保将日期放入$date = DateTime::createFromFormat('d/m/Y', $date_of_borrowing)->format('Y-m-d');
PS-在处理数据之前,请进行一些过滤和mysql注入检查。