2013-09-29 4 views
-3

Я пытаюсь позволить пользователям вставить объект в изображение. Я знаю, что не могу использовать предложение WHERE в сочетании с инструкцией INSERT INTO, и я знаю, что я должен использовать SELECT. Я очень новичок в mysql, и я не понял результаты, которые я пытался найти в google. Поэтому мне нужен более конкретный ответ;)Используйте WHERE в инструкции INSERT INTO

$classed = mysql_query("INSERT INTO images (subject) VALUES ('$_POST[subject]') WHERE image_id='$_POST[id]'"); 
+1

'INSERT' для создания новых строк,' WHERE' для обнаружения существующих строк. Непонятно, что вы пытаетесь сделать с комбинацией. – Barmar

+0

Никогда не используйте нефильтрованный ввод пользователя в запросах базы данных (SQL Injection danger!) – TheWolf

+0

Вы хотите обновить существующую строку? Команда (точно названная) - 'UPDATE'. – Ryan

ответ

1

Вы не можете использовать INSERT в существующих строках, попробуйте UPDATE SQL, будет что-то вроде

UPDATE images SET subject = '...' WHERE id=x; 
+0

Вот что я ищу. Меня устраивает. И, как я уже сказал, я очень новичок в Mysql. Узнал много, спасибо. –

+0

Рассмотрите возможность принятия ответа echo_Me вместо этого, это лучше, более полно, включает php-код и соответствующим образом обрабатывает ввод пользователя. –

3
  1. Вы не можете использовать WHERE в вашем INSERT заявление. Попробуйте указать UPDATE, если вы хотите обновить существующие строки, или INSERT без WHERE, чтобы вставить новые строки.

  2. Не используйте функцию mysql_query, так как она устарела. Вместо этого попробуйте использовать PDO или mysqli_query.

  3. Не Использовать нефильтрованный ввод в запросе.

2
  • , если у вас уже есть image_id значение, то вы должны UPDATE таблицу не INSERT.

  • вы должны избегать переменные перед их вставкой в ​​таблицу. по mysql_real_escape_string()

попробовать это:

$subject = mysql_real_escape_string($_POST['subject']) ; 
$id  =mysql_real_escape_string($_POST['id']) ; 
$classed = mysql_query("UPDATE images 
         SET subject = '".$subject."' 
         WHERE image_id='".$id."' "); 
Смежные вопросы