そこで、SQL インジェクションを回避するために、PHP PDO 関数を使用して MySQL データベースに接続することにしました。ただし、ユーザーが引用符を付けたときに \ をテーブルに置くことを避けることは可能ですか?
これが私のコードです:
$insert = $conn->prepare("INSERT INTO tests
(name, author, category, description, num_attempts, audience, date_uploaded, source, public) VALUES
(:testName, '$userId', '$category', :desc, '0', '$audience', '$date', 'Web', '0')");
$insert->bindParam(':testName', $testName, PDO::PARAM_STR);
$insert->bindParam(':desc', $desc, PDO::PARAM_STR);
$insert->execute();
testName に注意してください。これはユーザー入力です。誰かが引用符を付けるたびに \ をデータベースに配置したくありません。助けてください。