3

ウェブサイトのテキスト エディタとして tinymce を使用しています。

それを使用してコンテンツを追加しようとすると、完全に機能し 'ますが、テキスト内にある場合 (例: "Can't")、次のエラーが発生します。

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '...
4

1 に答える 1

4

プリペアドステートメントを使用していません。これは、'などの特殊文字がSQLステートメントに干渉することを意味します。最終的に、これはコードがSQLインジェクションに対してオープンであることを意味します。PDOでのプリペアドステートメントの使用を検討してください。マニュアルの簡単な例を次に示します。

<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);

// insert one row
$name = 'one';
$value = 1;
$stmt->execute();

// insert another row with different values
$name = 'two';
$value = 2;
$stmt->execute();
?>
于 2013-01-25T21:04:53.473 に答える