那麼這就是它。PHP MySQLi不讓我改變一個表(添加一個新列)
這是我的查詢:
$query = 'ALTER TABLE permissions ADD '.$name.' INT NOT NULL DEFAULT \'0\'';
$ name是已被選中,只有小寫字母的字母,並且不大於20的長度存在。我只是用非常簡單的名字開始。
接下來的4行代碼,一個是後:
if($stmt = $db -> prepare($query))
{
$success = $stmt -> execute();
$stmt -> close();
if(!$success)
echo 'ERROR: Unsuccessful query: ',$db->error,PHP_EOL;
}
我回來,每次
ERROR: Unsuccessful query:
並且沒有錯誤消息。有沒有辦法獲得更多的錯誤消息,所以我可以看到什麼是失敗?我可以通過phpmyadmin添加新的列,但這真的幫不了我。
$ db很好,我在這一節之前和之後做了很多東西。它僅向失敗的表添加新列。
- side question:prepare()每次當我試圖使這兩個變量,$ name和0值爲?時,拒絕我的查詢? ?準備好的陳述值。這就是爲什麼他們在真正的查詢中,而不是稍後綁定。如果我可以改變這一點,我想這樣做。
你試過了嗎?如果($ db-> query($ query))'和報廢'準備'? – TheDeadMedic 2010-06-09 17:35:03
就是這樣。我只是把它留在那裏,因爲它的準備工作已經過去了。 現在,查詢經過我得到了我的錯誤消息,我的用戶帳戶沒有更改/刪除權限。 您是否認爲這樣查詢並且不使用預處理語句是安全的?這實際上是我整個網站中我沒有準備查詢的唯一地方。 – asdasd 2010-06-09 17:41:54