我正在使用php mysqli擴展與準備好的語句,但在一個查詢中它沒有創建查詢對象。PHP Mysqli準備不創建語句對象
下面是代碼:
$sqlq = "SELECT id,name FROM productcategories JOIN products ON productcategories.productid = products.id WHERE categoryid=?";
if($allsubcats)
{
foreach($allsubcats as $key => $data)
{
$sqlq .= " OR categoryid=?";
}
}
echo $sqlq;
if($query = $this->mysqli->connection->prepare($sqlq))
{
$query->bind_param("i", $cat);
if($allsubcats)
{
foreach($allsubcats as $key => $data)
{
$query->bind_param("i", $data[0]);
}
}
$query->execute();
$query->bind_result($id,$name);
$query->store_result();
if($query->num_rows > 0)
{
while($row = $query->fetch())
{
$allprods["id"] = $id;
$allprods["name"] = $name;
}
}
$query->close();
}
問題:
if($query = $this->mysqli->connection->prepare($sqlq))
的if()
被返回false,因此不創建$query
對象,而不是代碼的執行任何內部的線如果。
的echo $sqlq;
回報:
「SELECT ID,名字從productcategories JOIN產品ON productcategories.productid = products.id WHERE類別id = OR類別ID = OR類別ID = OR類別ID = OR =類別ID????? OR categoryid =?「
我看不出有什麼問題。
任何幫助將不勝感激,
謝謝,尼科
你不是唯一的一個,如果這可以讓你放心的話^^而且你有一個很好的反射,回來給解決方案:-) – 2009-07-21 04:41:50
獲得投票回答你自己的問題,通過它thunk它:D – rezzif 2009-07-21 04:49:40
橡皮鴨ftw 。 http://www.c2.com/cgi/wiki?RubberDucking – hobodave 2009-07-21 05:04:48