を使用してMySQLでHTMLファイルを挿入するは、私はこのようなヒアドキュメント変数を持つPHPクエリ
query="INSERT INTO requests (ID,title) VALUES ('$ID','$status')";
しかし、私はそれをすることはできません。それを挿入するにはどうすればよいですか?
を使用してMySQLでHTMLファイルを挿入するは、私はこのようなヒアドキュメント変数を持つPHPクエリ
query="INSERT INTO requests (ID,title) VALUES ('$ID','$status')";
しかし、私はそれをすることはできません。それを挿入するにはどうすればよいですか?
(にaddslashesを使用してみてください)
$status = addslashes($status);
query="INSERT INTO requests (ID,title) VALUES ('$ID','$status')";
あなたは2通りの方法でそれを行うことができます。このようなmysqli_real_escape_string()
を使用
:
$mydb = new mysqli("localhost","root","FedAnd11");
$status=<<<EOT
<p>hello world</p>
<p>I'm <strong>really</strong>OK!</p>
<p></p>
EOT;
$query="INSERT INTO requests (ID,title) VALUES ('$ID','".$mydb->real_escape_string($status)."')";
たり、DBに接続していない場合まだ、
$status=<<<EOT
<p>hello world</p>
<p>I'm <strong>really</strong>OK!</p>
<p></p>
EOT;
$status = str_replace(array('\\', "\0", "\n", "\r", "'", '"', "\x1a"), array('\\\\', '\\0', '\\n', '\\r', "\\'", '\\"', '\\Z'), $status);
$query="INSERT INTO requests (ID,title) VALUES ('$ID','$status')";
あなたが問題を理解していれば。あなたが行うことができます
もう一つは、あなたが本当にこのように、あるとして$ステータスを入れたい場合は、MySQLの準備文を使用することです:
$status=<<<EOT
<p>hello world</p>
<p>I'm <strong>really</strong>OK!</p>
<p></p>
EOT;
$stmt = $dbConnection->prepare('INSERT INTO requests (ID,title) VALUES (?,?)');
$stmt->bind_param('is', $ID,$status);
$stmt->execute();
私は$ IDは整数であるはず。
私は準備されたステートメントを先頭に移動することをお勧めします。質問に答えるとき、それを最良の方法にプッシュすることは常に良い考えです。彼らが使用しているデータベースAPIがわからないことに注意してください.PDOや古くからのmysql APIかもしれません。 – miken32
SQLエスケープ?エラーメッセージが表示されますか?結果はどのくらい正確ですか? HTML文脈で表示されない改行についてですか? – mario
[PHPを使ってDBにHTMLコードを挿入するにはどうすればいいですか](http://stackoverflow.com/questions/24631088/how-to-insert-html-code-into-db-using-php) – geeksal
あなたのテキストのアポストロフィはデータベースを混乱させます。代わりにprepared statementを使用してください。 – miken32