2012-10-13 106 views
0

我一直有一個小問題,那就是......看看這個插入語句。SQL INSERT INTO - 我很困惑

這是我的連接(本地服務器上)

$c2d = mysqli_connect("localhost","root","","database name here")or die("connection not set" . mysqli_error); 

這是我的INSERT語句,以及如何我通常做。

$insertUsrAccDetQS = "INSERT INTO user-tbl-here (usern, usrp, usere) VALUES ('x','y','z');" or die('no good on 001' . mysqli_error); 

當我使用這個上面,我得到這種性質的錯誤...

Notice: Use of undefined constant mysqli_error - assumed 'mysqli_error' 

無論我做它(已經在它約一小時)什麼樣的變化,它總是給我一些錯誤,所以我對自己說,「讓我在phpMyadmin應用程序中手動插入,這樣我就可以看到IT寫入SQL INSERT代碼的方式,將SQL複製/粘貼到我的應用程序中以查看

當我這樣做時,返回的INSERT代碼phpM yadmin掀開我是

$insertUsrAccDetQS = "INSERT INTO `database name here`.`user-tbl-here` (`usern`, `usrp`, `usere`) VALUES ('$x','$y','$z');" or die('no good on 001' . mysqli_error); 

果然,我複製/粘貼到我的PHP文檔,運行它和它的工作,該值輸入到數據庫中。

我能看到的唯一區別是,

- phpMyAdmin的查詢字符串

其餘前將數據庫名稱 - 它把引用該字符串中的所有名稱/值。

但我DID在連接聲明中命名數據庫名稱並且我使用了像我上面的原始插入語句,它一直工作。

所以問題是......什麼給了?我也看了很多網上看到其他人INSERT報表/表格,例如,在這個wiki這裏,它形成了我一直這樣做的方式。

我很困惑。我會很高興地歡迎任何解釋/鏈接/提示等

+1

提示。看看這個錯誤。它發生在哪裏?在「OR」部分。這應該給你一個線索,哪裏出錯。然後是這兩個字。 'mysqli_error'。你需要對他們一無所知!鍵入和谷歌。您可以節省頭痛並立即查看問題所在。調試並不困難。 – itachi

回答

5

在mysqli_error的末尾添加括號,因爲它是一個函數,而不是一個變量,就像這樣:

or die('no good on 001' . mysqli_error()); 
             ^----- HERE 
+0

它做到了。非常感謝你! – somdow

+0

不客氣! :-) – Nelson

2

是mysqli_error的功能?如果是這樣,它需要括號 - mysqli_error()