A partir de PHP para MySQL bind_param error bool ()

Davoda 1:

No puedo fint el error ni pude encontrar ideas de internet. La base de datos tiene clave, userIp, y la fecha. el segmento de código es:

$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');

La idea es que puedo guardar la "llave" última y añadir 1 a la misma. Aunque no parece funcionar si el PP está vacía. Yo estaba buscando sobre ella durante horas por lo que han quedado sin ideas.

Barmar:

Tendrá que obtener los resultados de la consulta.

$result = $conn->query("SELECT LAST_INSERT_ID();");
$row = $result->fetch_row();
$last = $row[0];
if ($last == "") {
    $index = 0;
} else {
    $index = $last + 1;
}

Pero no es necesario llevar a cabo una consulta para esto, hay una función integrada para ello:

$last = $conn->insert_id;

Otro problema es que keyes una palabra reservada, por lo que necesita para citar con acentos abiertos.

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

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=277150&siteId=1
Recomendado
Clasificación