2010-06-17 75 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 2010-06-17 09:32:00

1

像这样:

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