2016-11-21 59 views
-3

Helo! 我想執行一個mysql查詢,但我遇到了上述問題。PHP語法錯誤(bind_param)

這是我的代碼:

$query = ("UPDATE cegek SET CegNev='".$cegnev."', Kozpont='".$kozpont."', Bevetel='".$bevetel."', Alkalmazottak='".$alkalmazott."', Iparag='".$iparag."' WHERE id=".$id."'"); 
$conn = $db->prepare($query); 
$conn->bind_param("ssiisi", $cegnev, $kozpont, $bevetel, $alkalmazott, $iparag, $id); 
$db->close(); 

而且它的結果是:

Fatal error: Call to a member function bind_param() on boolean in... 

我已經發現了一些類似的問題,但我無法找出解決方案。 任何人都可以幫助我?

+0

查詢中存在語法錯誤。既然你沒有顯示它是什麼,我們不可能告訴你更多。您需要檢查'$ db-> prepare()'的結果,並在錯誤時回顯'$ db-> error'。 – Barmar

+0

和'$ query'究竟是什麼? –

+0

和連接的API究竟是什麼?變量是什麼? –

回答

1

應使用以下語法:

$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)"); 
$stmt->bind_param('sssd', $code, $language, $official, $percent); 

因此,在你的代碼將是這樣的:

$conn = $db->prepare('INSERT INTO Table VALUES (?, ?, ?, ?, ?, ?)'); 
$conn->bind_param("ssiisi", $cegnev, $kozpont, $bevetel, $alkalmazott, $iparag, $id); 

此外,它可以返回布爾(假),如果有錯誤在查詢(F .ex。錯誤的表名)。

+0

仍然無法使其正常工作。我的查詢是: $ query =(「更新cegek SET CegNev ='」。$ cegnev。「',Kozpont ='」。$ kozpont。「',Bevetel ='」。$ bevetel。「',Alkalmazottak =' 「。$ alkalmazott。」',Iparag ='「。$ iparag。」'WHERE id =「。$ id。」'「); – TheyCallMeSont

+0

你在綁定參數,所以''query'中的變量應該放在'?'的位置。 –

+0

嘗試:'「更新cegek SET CegNev ='?',Kozpont ='?',Bevetel ='?',Alkalmazottak ='?',Iparag ='?' WHERE id ='?'「' –