私は連想配列で束縛しようとしていますが、foreachをループしていますが、どういうわけかそれを働かせません。このエラーが表示されます:pdo bindParam(連想配列あり)
SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
ここにコードがあります。 VAR $columns
と$values
は、その私は列が配列のキーをmacthingているかなり確信しているx, x, x
と:x, :x, :x
$stmt1 = $conn->prepare("INSERT INTO data($columns)
VALUES ($values)");
foreach ($array as $key => $value)
{
$key = ":" . $key;
$stmt1->bindParam($key, $value);
$stmt1->execute();
}
のようにそれらを受け入れるように操作だけでなく、アレイから来ています。
EDIT:コードのより
$values = '';
$columns = implode(',', $array);
foreach($array as $key)
{
$values .= ":" . $key . ",";
}
$values = substr($values , 0, -1);
適切な判断を下すコードが不十分です。少なくとも$値を表示してください。 –
@ PaulT.Rawkeen申し訳ありませんが、コード – SC92
で質問を編集しました。まだ '$ array'は謎です。 –