为了账号安全,请及时绑定邮箱和手机立即绑定

从 PHP 到 MySQL bind_param() bool 错误

从 PHP 到 MySQL bind_param() bool 错误

PHP
叮当猫咪 2022-10-28 14:23:37
我无法找到错误,也无法从互联网上找到想法。该数据库具有密钥、用户IP 和日期。代码段是:$last = $conn->query("SELECT LAST_INSERT_ID();");if (strcmp($last, "<empty string>") == 0) {    $index = 0;} else {    $index = $last + 1;}$stmt = $conn->prepare("INSERT INTO Users (key, userIP, date) VALUES (?, ?, ?)");$stmt->bind_param("iss", $key, $ip, $date);$key = $index;$ip = $_SERVER['REMOTE_ADDR'];$date = date('Y-m-d H:i:s');这个想法是我保存最后一个“密钥”并为其添加 1。如果数据库为空,它似乎不起作用。我看了好几个小时,所以我的想法已经用完了。
查看完整描述

1 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

您需要获取查询的结果。


$result = $conn->query("SELECT LAST_INSERT_ID();");

$row = $result->fetch_row();

$last = $row[0];

if ($last == "") {

    $index = 0;

} else {

    $index = $last + 1;

}

但是您不需要为此执行查询,它有一个内置函数:


$last = $conn->insert_id;

另一个问题是这key是一个保留字,所以你需要用反引号引用它。


$stmt = $conn->prepare("INSERT INTO Users (`key`, userIP, date) VALUES (?, ?, ?)");


查看完整回答
反对 回复 2022-10-28
  • 1 回答
  • 0 关注
  • 113 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信