Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL语法使用近';06:09:43,其中图书id=19,发行日期=2017-03-29 17:28:34';在1号线_Php_Mysql - Fatal编程技术网

Php SQL语法使用近';06:09:43,其中图书id=19,发行日期=2017-03-29 17:28:34';在1号线

Php SQL语法使用近';06:09:43,其中图书id=19,发行日期=2017-03-29 17:28:34';在1号线,php,mysql,Php,Mysql,错误:无法执行SQL语法错误; 检查与您的MariaDB服务器版本对应的手册以了解 在'06:09:43附近使用的正确语法,其中Book_id=19和 发布日期=2017-03-29 17:28:34'在1号线 我在执行以下代码时遇到了上述错误- if(isset($_GET['rt']))//rt is a variable I'm passing in an anchor tag { $dateis=$_GET['rt']; } if(isset($_GET['id']))//id is a

错误:无法执行SQL语法错误; 检查与您的MariaDB服务器版本对应的手册以了解 在'06:09:43附近使用的正确语法,其中Book_id=19和 发布日期=2017-03-29 17:28:34'在1号线

我在执行以下代码时遇到了上述错误-

if(isset($_GET['rt']))//rt is a variable I'm passing in an anchor tag
{
$dateis=$_GET['rt'];
}
if(isset($_GET['id']))//id is also sent along with rt
{
$bk_id=$_GET['id'];
}
$ret = 'returned successfully';
$date = date('Y-m-d H:i:s');
if(mysqli_query($conn, "UPDATE issued_books SET Date_returned = $date WHERE Book_id = $bk_id AND Date_issued = $dateis"))
{
    $fine = mysqli_query($conn, "SELECT DATEDIFF('$dateis', '$date') AS days");
    $fine = $fine*10;
    mysqli_query($conn, "UPDATE issued_books SET Fine_amt = (Fine_amt + $fine) WHERE Date_issued = $dateis");
    mysqli_query($conn, "UPDATE library_books SET Available = (Available + 1) WHERE Book_id = $bk_id");
    header("Location: return-books.php?book=".urlencode($ret));
} else{
    echo "ERROR: Could not able to execute " .mysqli_error($conn);
}

试试这些,只需在变量中添加单引号

"UPDATE issued_books SET Date_returned = '$date' WHERE Book_id = '$bk_id' AND Date_issued = '$dateis'"

"UPDATE issued_books SET Fine_amt = (Fine_amt + '$fine') WHERE Date_issued = '$dateis'"

"UPDATE library_books SET Available = (Available + 1) WHERE Book_id = '$bk_id'"

尽管如果你使用事先准备好的陈述会更好

试试这些,只需在变量中添加单引号即可

"UPDATE issued_books SET Date_returned = '$date' WHERE Book_id = '$bk_id' AND Date_issued = '$dateis'"

"UPDATE issued_books SET Fine_amt = (Fine_amt + '$fine') WHERE Date_issued = '$dateis'"

"UPDATE library_books SET Available = (Available + 1) WHERE Book_id = '$bk_id'"

尽管如果你使用事先准备好的陈述会更好

在您的第一次更新查询中,在此处使用单引号

 Date_returned = '$date'

我还建议在第一次更新查询中使用pdo

,在这里使用
单引号

 Date_returned = '$date'

我还建议使用pdo

字符串,需要用引号封装。使用准备好的语句,驱动程序将为您处理引用/转义。您可以使用您当前的代码进行SQL注入。请阅读-总结是,这不是解决志愿者问题的理想方法,并且可能会对获得答案产生反作用。请不要将此添加到您的问题中。字符串需要用引号封装。使用准备好的语句,驱动程序将为您处理引用/转义。您可以使用您当前的代码进行SQL注入。请阅读-总结是,这不是解决志愿者问题的理想方法,并且可能会对获得答案产生反作用。请不要将此添加到您的问题中。有其他方法可以将变量直接包含到查询中,一种方法是将它们包含在一个引号中。这意味着什么?接近'06:09:43有其他方法可以将变量直接包含到查询中,一个是把它们放在一个引文中,这意味着什么——在06:09附近:43@ParvezKhan:如果有效,请单击绿色勾号接受此ans。也请考虑将代码转换成PDO。@ NIKLESH让OP选择他是否想使用<代码> MySqLI< /COD>或<代码> PDO @ ParvezKhan:如果它工作通过点击绿色刻度标记接受这个ANS。请考虑将代码转换成PDO。@ NIKLESH让OP选择他是否使用<代码> MySqLI< /COD>或<代码> PDO < /代码>