2015-04-22 44 views
-1

非對象錯誤我得到的誤差:bind_param上的mysqli

呼叫一個成員函數bind_param()在以下代碼的非對象

上,我沒有想法有什麼不對,對我來說一切似乎都很好。

$stmt = $db->prepare("INSERT INTO list(title, 
topicDesc,date,kod,country) VALUES (?, ?, ?, ?, ?)"); 
$stmt->bind_param('sssis', 'yo','yo desc','1 may 2015,','123','US'); 
+2

你'prepare'失敗(並因此返回'FALSE'),檢查錯誤日誌。 – CD001

+0

@ CD001在哪裏檢查?我'回聲'$ db->錯誤它沒有給我什麼? –

+0

檢查您的數據庫連接並確保您沒有混合MySQL API,如PDO。如果我每次看到這種情況都會有鎳,我會有10塊錢。請記住執行您的查詢。使用'if(!$ stmt-> execute()){trigger_error(「出現錯誤....」。$ db-> error,E_USER_WARNING);}'來捕獲錯誤。 –

回答

0

$ db未設置爲mysqli類對象的實例。這通常發生在連接語句失敗時。見mysqli manual page正確的語法,幫助調試錯誤

+0

這應該可能是一個評論,而不是一個答案。 – Alex

+0

我會說這是一個很好的答案,因爲可以給出問題。如果你覺得它沒有回答被問到的實際問題,我會改變評論。 – MuppetGrinder

0

試試這個它的工作由於某種原因

$stmt = $conn->prepare("INSERT INTO list (title, topicDesc, date,kod,country) 
    VALUES (:title1, :topicDesc1, :date1, :kod1,:country1)"); 

$stmt->execute(array(
    ':title1' => 'col2', 
    ':topicDesc1' => 'col3', 
    ':date1' => 'col4', 
    ':kod1' => 'col4', 
    ':country1' => 'col4'));