私はエラーを取得する:私は次のコードを実行しようとするとPHP PDO:SQLSTATE [HY093]:無効なパラメータ番号:混合という名前と位置パラメータ
SQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters
:
public function getScore($matchID,$setone,$settwo,$getChallengerScore,$getOpponentScore,$fileOpponentData,$fileChallengerData)
{
try
{
$stmt = $this->db->prepare("UPDATE matches SET `winner` = $setone
AND `looser` = $settwo
AND `winner_score` = $getChallengerScore
AND `looser_score` = $getOpponentScore
AND `opponent_blob` = '".$fileOpponentData."'
AND `challenger_blob` = '".$fileChallengerData."'
WHERE `id` = $matchID");
#var_dump($stmt);
$stmt->execute();
return $stmt;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
を私は」私はPDOにはあまり関係がありませんが、多くの問題はありませんでしたが、これは私自身では解決できません。 ご協力いただければ幸いです。
変数を代入しないで、パラメータ化されたクエリを使用します。 – Barmar
また、同じ文字列内で可変補間を使うことがあり、他の時に連結を使うことがあるのも不思議です。 – Barmar
___SOは、ここで簡単なマニュアルを置き換えることはできません.___ UPDATEの構文を見てください。そのマニュアルのhttp://dev.mysql.com/doc/refman/5.7/en/update.html _HINT:_ 'AND' ???? – RiggsFolly