gpt4 book ai didi

php - AJAX PHP 调用本地主机数据库返回错误

转载 作者:行者123 更新时间:2023-11-29 06:49:01 24 4
gpt4 key购买 nike

我正在制作一个带有按钮的 Web 应用程序库,单击该按钮时会调用 checkout() 函数。该函数使用 jQuery 将数据发送到 PHP 脚本。然后,该 PHP 连接到本地主机上的数据库(目前)并发送查询。

当在 MySQL Workbench 中执行时,下面 PHP 中显示的查询可以完美运行。当我尝试从网页执行它时出现问题。它与数据库用户和密码连接得很好,但查询本身失败。

HTML

<div class="col-xs-4 btn btn-default button" onclick="checkout();">
Checkout
</div>

JS

function checkout() {
let result=$.ajax({
type: "POST",
url: "php/checkout.php",
dataType: "text",
//@TODO: add scanner functionality to populate isbn,
// add functionality to populate user
data:
{
isbn: 1,
user: 1
},
success: function(result) {
//change #button-text to house result (for now)
// @TODO: delete errorcheck when done
$('#button-text').html(result);
console.log(result);
},
error: function(xhr, status, error) {
alert(status + ' ||| ' + error);
}
});
}

PHP

    $dbconn = connectToDB($serverName, $dbName, $dbUser, $dbPass);
// set is_available to false, update checkout and due
// date, update current owner of book, set due_date to
// current date + 14 days
$query = "UPDATE books
SET is_available = false,
checkout_date = CURDATE(),
due_date = DATE_ADD(CURDATE(),
INTERVAL 14 DAY)
WHERE isbn = $isbn;

INSERT INTO currently_checked_out_books
(user_id, book_isbn, due_date)
VALUES (
$user,
$isbn,
DATE_ADD(CURDATE(), INTERVAL 14 DAY)
);";
// $query = "show tables;"; // returns what you'd expect
$result = $dbconn->query($query);

我尝试过的:

我仔细检查了我的查询和数据库权限 - 我设置的数据库用户具有数据库管理员权限,这意味着它应该能够对数据库执行任何操作。如前所述,我还在 MySQL Workbench 中直接测试了我的查询,并且它工作正常。我唯一能想到的是我的数据库用户设置不正确,但同样,如果有的话,它有太多自由。

根据要求提供额外信息和说明 - 如果我错过了任何重要的所需信息,请告诉我。

最佳答案

我认为您的问题是您在 $query 中有多个语句,但您使用的是 $dbconn->query($query) ,但它并没有支持多个语句,如 official documentation 中所述:

Multiple statements or multi queries must be executed with mysqli_multi_query(). The individual statements of the statement string are separated by semicolon. Then, all result sets returned by the executed statements must be fetched.

因此,您需要拆分语句或保留 $query 不变并使用 $result = $dbconn->multi_query($query);

关于php - AJAX PHP 调用本地主机数据库返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48246428/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com