So. Я изучаю PHP/MySQLi
атм, и для этого я делаю базу данных фильмов. Я новичок на PHP, и я искал 3 дня через Интернет для кого-то с той же проблемой, но я ничего не нашел.PHP UPDATE, действующий как INSERT
Моя проблема в том, что мне нужна кнопка EDIT
, чтобы можно было EDIT
независимо от того, что вы INSERT
.
Проблемы я столкнулся в том, что мой edit.php
, который имеет подготовленное заявление для UPDATING
моего стола действует как INSERT
и просто положить в новой строке с новым идентификатором.
<?php // edit.php
require_once 'movie_form.php';
if (isset($_POST['id']))
{
$id =$_POST['id'];
$stmt = $mysqli->prepare("UPDATE filmer SET Title = ?, Director = ?, Year = ?, Category = ? WHERE id = ?");
$stmt->bind_param('ssiii', $_POST['Title'], $_POST['Director'], $_POST['Year'], $_POST['Category'], $_POST['id']);
$stmt->execute();
$stmt->close();
}
?>
Я вторя мой ID им получать с другой страницы, это правильный идентификатор для фильма я нажал EDIT дальше. К сожалению, он все еще создает новый ID, и я не понимаю, почему.
Это может показаться глупым, но вы уверены, что вы звоните ваш 'edit.php' сценарий и не ваш' insert.php' (или что-то еще) скрипт? Мне стыдно признаться, но у меня когда-то была эта проблема! Чувствовал себя глупо в течение нескольких дней после этого ... –
Чтобы сделать это коротко: то, что вы описываете, невозможно **, это не так, как работает инструкция 'UPDATE'. Когда-либо. Ваша ошибка в другом месте. Скорее всего, 'movie_form.php' содержит и выполняет инструкцию' INSERT'. – deceze
В качестве альтернативы, взгляните на INSERT ... UPDATE ON DUPLICATE KEY – Strawberry