當我準備我的$query
時出現錯誤。 下面是幾行:PHP MySQL調用成員函數execute()對非對象
$query="INSERT INTO bm(title,season) VALUES(:title, :season)";
$stmt = $mysqli->prepare($query);
//$stmt->bind_param("ss", $title, $season);
$stmt->execute(array(':title' => $title, ':season' => $season));
我把符合bind_param
在//
我看到其他人可以解決,但誤差成爲大致相同:
致命錯誤:調用一個成員函數bind_param ()在非對象上
所以,我想到了我的查詢,但它非常簡單,我再也看不清楚了。這讓我瘋狂。 : - /我還測試了var $title
和$season
與echo
只是$query
前行可以肯定,這樣的:
echo $title." et ".$season;
但沒有什麼是錯的,值確定。這些是字符串變種。任何幫助將非常感激。謝謝。
下面是完整的代碼:
<?php
include("connexion.php");
// Get vars from previous form
//$id="";
$title = isset($_POST['title']) ? $_POST['title'] : "";
$season = isset($_POST['season']) ? $_POST['season'] : "";
// Testing vars
if (empty($titre) && empty($saison))
{
echo '<font color="red">Must be filled...</font>';
}
// Vars ok : could be inserted in "bm" table
else
{
// Protect - inject SQL
$title=$mysqli->real_escape_string(strip_tags($title));
$season=$mysqli->real_escape_string(strip_tags($season));
// Test
echo $title." et ".$season;
// Insert method
$query="INSERT INTO bm(title,season) VALUES(:title, :season)";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("ss", $title, $season);
$stmt->execute(array(':title' => $title, ':season' => $season));
// Insert ok ?
if ($stmt) {
echo "Insert ok.";
}
else {
echo "Insert failed !";
}
}
//Close connexion
$mysqli->close();
?>
它像一個魅力。 –
它像一個魅力。但太糟糕了,我不能使用':var' /'$ var'提示。如果我需要'table bm'中的所有變量,那麼更容易修改我的查詢。也許與PDO?但是代碼可能會從頭開始重新編寫...從我讀到的有關PDO vs Mysqli的內容中可以看出: - / –