2013-02-21 81 views
0

guys 我有以下問題。我創建了一個叫做「dsaidovsite」的數據庫,裏面有一個名爲「General Settings」的SQL表,我添加了ID和PageTopTitle collumns。在列表ID中,PageTopTitle已經添加了行0,DSPixels Design。我想要做以下事情:我打開ACP,插入網站標題,然後PHP腳本刪除當前行,並再次插入新的ID爲0的ID因爲php應該知道哪一行準確刪除,爲什麼我使用ID來標識該行)以及新的PageTopTitle值。這裏是我試圖讓PHP:MYSQL/PHP:使用INSERT INTO的新手

$qry = "DELETE FROM General Settings WHERE id = 0" 
$qry = "INSERT INTO `dsaidovsite`.`GeneralSettings`(`ID`, `PageTopTitle`) VALUES('0','$PageTopTitle')"; 
$result = mysql_query($qry); 

這是給我的錯誤unexpected T_VARIABLE上:

$qry = "INSERT INTO `dsaidovsite`.`GeneralSettings`(`ID`, `PageTopTitle`) VALUES('0','$PageTopTitle')";` 

我認爲它是從0,我不知道如何使它在ID列中添加一個確切的值。我希望你明白我的觀點,如果你能幫助我,我會非常高興。

親切的問候, 丹尼斯Saidov

+2

因爲你是新手,我建議你學習PDO。 mysql_ *功能已過時,並將在不久的將來逐步淘汰。 – 2013-02-21 18:14:49

+2

你需要';'後面'$ qry =「DELETE FROM常規設置WHERE id = 0」'。我強烈建議閱讀PHP的基礎知識,並查看錯誤消息的含義。 – UnholyRanger 2013-02-21 18:14:58

+0

什麼**正確**是你得到的**全**錯誤信息? – Jocelyn 2013-02-21 18:20:34

回答

1

您的代碼應該是這樣的:

$qry = "DELETE FROM General Settings WHERE id = 0"; 
mysql_query($qry); //first delete 
$qry = "INSERT INTO `dsaidovsite`.`GeneralSettings`(`ID`, `PageTopTitle`)  VALUES('0','$PageTopTitle')"; 
$result = mysql_query($qry); //then add 

你錯過了這一點;在刪除結束;)

PS:你應該去的mysqli或PDO ... mysql擴展已被棄用

Saludos。

1

讓我們打破這一點。

首先關閉unexpected T_VARIABLE是PHP告訴你它遇到一個變量時,它不期望。考慮到這一點,它告訴你什麼路線,所以我們看看那裏。

   $qry = "DELETE FROM General Settings WHERE id = 0" 
error line-> $qry... 

查看錯誤提供的行,您會看到有一個變量,並且在它是另一行之前。在行末,我們注意到沒有;。完成。這個問題是固定的。

至於你認爲0可能會這樣做。 PHP不關心你在MySQL命令中做什麼,除了評估字符串然後傳遞給MySQL。你的命令是好的,因爲你用雙引號,$PageTopTitle將被評估。

進一步意見:

你只運行一次mysql_query,就是這樣DELETE命令將不會被執行的$qry第二設置後。