使用PHP查询在MySQL中插入HTML文件

时间:2016-04-19 13:40:21

标签: php mysql heredoc

我有一个像这样的heredoc变量:

$status=<<<EOT
<p>hello world</p>
<p>I'm <strong>really</strong>OK!</p>
<p></p>
EOT;

我想通过PHP将空格插入我的MySQL数据库中,如下所示:

query="INSERT INTO requests (ID,title) VALUES ('$ID','$status')";

但我做不到。我应该怎么做才能插入?

2 个答案:

答案 0 :(得分:1)

您可以通过两种方式实现:

像这样使用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)."')";

或者如果您还没有数据库连接,

$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,就像这样:

$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是整数。

答案 1 :(得分:0)

尝试使用addslashes()

table.add(scroller);
...
table.getCell(scroller).size(460, 200);