Я новичок в подготовленных заявлениях. Запрос SQL работает нормально, если я вставляю фиктивные данные, и он работает без привязки целого числа ($ id).
Где я не прав?
sql = "UPDATE staff_type SET s_type=?, description=? WHERE s_type_id=?;";
$stmt = mysqli_stmt_init($conn);
mysqli_stmt_prepare($stmt, $sql));
mysqli_stmt_bind_param($stmt, "ssi", $type, $desc, $id);
mysqli_stmt_execute($stmt);
4 ответа
Я обнаружил ошибку, из-за которой целочисленный параметр не связывается. Я не знал, что отключенные поля ввода не могут публиковать данные, поэтому я нашел решение заменить атрибут «disabled» на «только для чтения».
Вы должны подготовить заявление в первую очередь
**Procedural style**
$stmt = mysqli_prepare($conn, "UPDATE staff_type SET s_type=?, description=? WHERE s_type_id=?");
mysqli_stmt_bind_param($stmt, "ssi", $type, $desc, $id);
mysqli_stmt_execute($stmt);
Проверьте http://php.net/manual/en/mysqli-stmt .bind - param.php
Попробуй это
$sql= $con->prepare("update staff_type set s_type=?, description=? WHERE s_type_id = ?");
if ($result){
$sql->bind_param('ssi', $s_type, $desc, $s_type_id );
$sql->execute();
}
Примечание: s представляет строку, а i представляет целое число
Надеюсь, это поможет тебе
Перед привязкой параметров необходимо подготовить оператор SQL с параметрами в нем.
$sql = "UPDATE staff_type SET s_type=?, description=? WHERE s_type_id=?;";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ssi", $type, $desc, $id);
$stmt->execute();
Новые вопросы
php
PHP - это широко используемый высокоуровневый, динамический, объектно-ориентированный и интерпретируемый язык сценариев, в первую очередь предназначенный для серверной веб-разработки. Используется для вопросов о языке PHP.