2014-09-18 1 views
0

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, и я не понимаю, почему.

+4

Это может показаться глупым, но вы уверены, что вы звоните ваш 'edit.php' сценарий и не ваш' insert.php' (или что-то еще) скрипт? Мне стыдно признаться, но у меня когда-то была эта проблема! Чувствовал себя глупо в течение нескольких дней после этого ... –

+0

Чтобы сделать это коротко: то, что вы описываете, невозможно **, это не так, как работает инструкция 'UPDATE'. Когда-либо. Ваша ошибка в другом месте. Скорее всего, 'movie_form.php' содержит и выполняет инструкцию' INSERT'. – deceze

+0

В качестве альтернативы, взгляните на INSERT ... UPDATE ON DUPLICATE KEY – Strawberry

ответ

0

Пожалуйста, исправьте это

$id =$POST_['id']; 

в

$id =$_POST['id']; 
+0

Да, это была недавняя ошибка, не изменившая поведения. Тай за то, что заметил! – Spray