PHP MySQL插入帮助

时间:2010-06-17 09:26:00

标签: php mysql insert

嘿我正在尝试创建一个将一些字符串插入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();
?>

我哪里错了?

3 个答案:

答案 0 :(得分:2)

  • 您在错误的地方or die
  • 您已省略VALUES关键字。请参阅INSERT
  • 的文档

查询应该是这样的:

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

or die应在致电mysql_query之后发出。

您可能还有SQL注入漏洞。考虑使用mysql_real_escape_string

答案 1 :(得分: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 :(得分:1)

像这样:

$query = "INSERT INTO user (movieid, moviename) VALUES ('" . $id . "','" . $name . "')";  
mysql_query($query) or die(mysql_error());