Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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中的mysql查询失败_Php_Mysql - Fatal编程技术网

php中的mysql查询失败

php中的mysql查询失败,php,mysql,Php,Mysql,我试图在php中运行以下查询,但失败了 $results = $conn->prepare("INSERT INTO book_loans VALUES (:book_id, :branch_id, :card_no, CURDATE(), DATE_ADD(CURDATE(), INTERVAL 14 DAY))"); //Binding params and executing insert for checking out $results->bindParam(':book

我试图在php中运行以下查询,但失败了

$results = $conn->prepare("INSERT INTO book_loans
VALUES (:book_id, :branch_id, :card_no, CURDATE(), DATE_ADD(CURDATE(), INTERVAL 14 DAY))");

//Binding params and executing insert for checking out
$results->bindParam(':book_id', $book_id, PDO::PARAM_STR);
$results->bindParam(':branch_id', $branch_id, PDO::PARAM_INT);
$results->bindParam(':card_no', $card_no, PDO::PARAM_STR);

if($results->execute()) {
    return array("success");
} else {
    return array("failure");
}
我返回带有字符串的数组,以检查并显示消息。
但即使对于有效元素,查询也会失败。

错误消息是什么

$results = $conn->prepare("INSERT INTO book_loans
VALUES (:book_id, :branch_id, :card_no, CURDATE(), DATE_ADD(CURDATE(), INTERVAL 14 DAY))");

//Binding params and executing insert for checking out
$results->bindParam(':book_id', $book_id, PDO::PARAM_STR);
$results->bindParam(':branch_id', $branch_id, PDO::PARAM_INT);
$results->bindParam(':card_no', $card_no, PDO::PARAM_STR);

if($results->execute()) {
    return array("success");
} else {
    return array("failure");
}
通常原因是SQL查询中的错误!检查查询是否在MySQL控制台中实际工作


如果您需要更具体的帮助,您需要张贴帐面贷款表的说明。您可以发布此表的create table语句吗?

代替返回数组('failure')返回数组($results->errorInfo()),分析错误文本,然后修复它

,那么为什么不检查MySQL返回的错误呢?查询本身在MySQL中运行良好,问题可能出在php代码中,但您可以使用MySQL函数返回该错误并进行相应的调试。执行一组外键检查=0;在插入之前,确保不是外键问题。当我在cmd上运行查询时,查询工作正常!这里是create table命令:create table book\u loans(book\u id varchar(15)、branch\u id int(5)、card\u no varchar(10)、date\u out date、due\u date date、PRIMARY KEY(book\u id、branch\u id、card\u no)、外键(book\u id)REFERENCES book(book\u id)、外键(branch\u id)REFERENCES library\u branch(branch\u id)、外键(card\u no)参考借款人(卡号);您是否可以尝试显式地添加值date_out和due_date,而不是使用MySQL函数?也许php驱动程序/框架无法处理这些问题。