我想在表格中插入网页(文本格式)
当我查询时,它给了我一个错误。但是,当我删除网页(在一个字符串中),它的工作原理。 变量是$ 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?
由于
答案 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会提供更好的功能集。