わかりましたので、テーブル名と列にプレースホルダーを使用できないことがわかりました
$table = 'users';
$stmt = $db->prepare('SELECT * from ?');
$stmt->bindValue(1, $rable, ??);
では、動的なテーブル名を使用する代わりに実際に何ができるのでしょうか?
$stmt = $db->prepare('SELECT * from '.$table);
これは脆弱です。escape_string
方法はありPDO
ますか?説明書を一通り読んだのですが、わからなかったようです。私が見つけたのはquote
、テーブルと列では機能しませんでした。この機能を安全に実装する方法はありますmysqli
か?