0
マイコード:PDO更新機能
public static function duzenle($tablo, $degerler, $kosul) {
global $db;
$prep = array();
$aaa = array();
foreach($degerler as $k => $v) {
$prep[$k.' = :'.$k] = $v;
$aaa[":".$k ."= '".$v."'"] = $k;
}
$sth = $db->prepare("UPDATE ".$tablo." SET " . implode(', ',array_keys($prep)) . " WHERE ".$kosul."");
$res = $sth->execute("".implode(', ',array_keys($aaa))."");
return implode(', ',array_keys($aaa));
}
問題:
警告:をPDOStatement ::実行()パラメータ1が配列であることを期待し、
[あなたのコードはSQLインジェクションに対して脆弱です](https://phpdelusions.net/pdo/sql_injection_example) –
変数のリストをコンマ区切りでバインドしようとすると、それぞれをバインドする必要があります変数を別にします。準備されたクエリのサンプル出力を提供した場合、それは役に立ちます。 – Shadow
実行に入る前に$ aaaの内容は何ですか?私があなたのコードを正しく読んでいるならば、配列を期待しているので、$ aaaを実行呼び出しに渡すだけです。 – Dave