2010-06-17 106 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());