在mssql表中插入一个网页

时间:2013-02-05 15:16:07

标签: php html text

我想在表格中插入网页(文本格式)

当我查询时,它给了我一个错误。但是,当我删除网页(在一个字符串中),它的工作原理。 变量是$ comment 1。 消息行是文本(不是varchar(255))

$query_insert = "INSERT INTO [".$project."_spec].[IsMessage] (project, message, note) VALUES('".$project."', '".$comment."', '".$note."')";
       mssql_query($query_insert) or die(mssql_get_last_message() . "[ " . $query_insert . " ]");

有没有办法在文本中转换HTML?

由于

1 个答案:

答案 0 :(得分:0)

您正在通过将带有随机内容的变量注入查询来动态构建SQL代码:

$query_insert = "INSERT INTO ... VALUES('".$project."', '".$comment."', '".$note."')";
                                           ^^^^^^^^        ^^^^^^^^        ^^^^^

这样,在您无意中构建无效查询之前不会花很长时间:

$project = "Foo";
$comment = "It isn't ready yet";
$note = "See John's notes";
$query_insert = "INSERT INTO ... VALUES('".$project."', '".$comment."', '".$note."')";
var_dump($query_insert);
// string(71) "INSERT INTO ... VALUES('Foo', 'It isn't ready yet', 'See John's notes')"
                                             ^      ^
                                Start string |      | End string... oops

我没有使用传统的MSSQL扩展,所以我不知道你应该怎么解决这个问题(显然,你不能!)但是有一个user comment that proposes a custom function。你应该放弃stripslashes()调用,但其余的看起来是正确的(没有实际测试过)。

如果您碰巧使用Windows并且更改时间不晚,则较新的SQLSRV会提供更好的功能集。