2013-06-21 86 views
0

我試圖在我的數據庫中添加新的字段! 但我在mysql_query部分出現錯誤!mysql_query:未知錯誤

他是代碼

<?php 

$link = mysql_connect('localhost','user','pass','data'); 
if(!$link) 
    die('Could not connect: ' . mysql_error()); 
$sql = "INSERT INTO content(`id`, `writer`, `title`, `subject`) VALUES(NULL,'11','22','33')"; 
if (!mysql_query($link,$sql)) 
    { 
    die('Invalid query: ' . mysql_error()); 
    } 
echo "1 record added"; 
mysql_close($link); 
?> 

當我運行此頁我得到

Invalid query: 

和一個空的理由

什麼想法?

+1

請,**不要**使用'在新的應用mysql_query'。這是一個陳舊的界面,如果使用不正確會危險,並且正在從未來版本的PHP中刪除。 [學習PDO](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/)或其他支持的界面將提供許多好處如[更簡單的SQL轉義](http://bobby-tables.com/php)以及PHP的未來支持。 – tadman

回答

2

你有你的參數mysql_query倒退。

它應該是mysql_query($sql, $link)

P.S.你甚至不需要通過$link。你可以做mysql_query($sql)。 PHP將使用通過mysql_connect打開的最後一個鏈接。

+0

謝謝,它工作:) – user2509492

+0

不客氣! :-) –

1

什麼是你的餐桌定義?我認爲「身份證」是你的主要關鍵(PK)。 PK不能爲NULL。

如果它AUTO_INCREMENT剛剛離開的離開明杆和寫入

"INSERT INTO content(`writer`, `title`, `subject`) VALUES('11','22','33')"; 
+0

這就是我的答案。你擊敗了我。 – Tom

+0

如果您將'PK'設置爲'NULL',它會自動將其設置爲下一個'AUTO_INCREMENT'值。 –