2010-06-17 2 views
1

Эй, я пытаюсь сделать страницу, которая вставляет некоторые строки в таблицу MySQL, но она просто не работает для меня. Вот код, который я использую в данный момент.PHP MySQL Вставка справки

<?php 
mysql_connect($address, $username, $password); 
@mysql_select_db($database) or die("Unable to select database"); 
$query = "insert INTO user (movieid, moviename)('" . $id . "','" . $name . "') or die(mysql_error())"; 
mysql_query($query); 
mysql_close(); 
?> 

Где я иду не так?

ответ

2

Там не должно быть никаких die() на всех, но вместо этого trigger_error().
и данные должны быть должным образом отформатированы для запроса:

<?php 
mysql_connect($address, $username, $password); 
mysql_select_db($database); 

$id = mysql_real_escape_string($id); 
$name = mysql_real_escape_string($name); 

$query = "insert INTO user (movieid, moviename) VALUES ('$id','$name')"; 
mysql_query($query) or trigger_error((mysql_error().$query); 
?> 

Всегда делать любую работу в этом MySQL путь

2
  • У вас есть or die в неправильном месте.
  • Вы опустили ключевое слово VALUES. См. Документацию для INSERT.

запрос должен быть просто так:

"INSERT INTO user (movieid, moviename) VALUES ('" . $id . "','" . $name . "')"; 

or die должен прийти после вызова mysql_query.

У вас может быть уязвимость в SQL-инъекции. Рассмотрим использование mysql_real_escape_string.

+0

Это работало, спасибо большое! – user364333

1

Как это:

$query = "INSERT INTO user (movieid, moviename) VALUES ('" . $id . "','" . $name . "')"; 
mysql_query($query) or die(mysql_error()); 
Смежные вопросы