Py学习  »  DATABASE

从PHP到MySQL bind_param()bool错误

Davoda 1 • 4 年前 • 679 次点击  

我找不到错误,也找不到网上的想法。 数据库有密钥、用户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。但如果数据库是空的,它似乎不起作用。我看了好几个小时,所以我已经没有什么想法了。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/56056
 
679 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Barmar
Reply   •   1 楼
Barmar    4 年前

您需要获取查询的结果。

$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 (?, ?, ?)");