【发布时间】:2015-02-18 07:50:11
【问题描述】:
每当我尝试插入包含与号 (&) 的文本时,与号以及在它被截断后出现的剩余文本。
$int = 0; $string = "You & I!";
$sql = "INSERT INTO `table` VALUES(?,?);";
$prepare = $connect -> prepare( $sql );
$prepare -> bind_param( "is", $int, $string );
// ETC.
即使我逃脱(我讨厌它,因为它在引号中添加了多余的仰泳):
$string = $connect -> real_escape_string( $string );
只有You 会被插入到表中。该字段设置为VARCHAR(100)。
我无法事先将 & 符号转换为 HTML 实体 (&),因为 WIN32 应用程序也使用该数据库。让 WIN32 应用程序将实体转换为普通字符是我目前无法控制的事情。
我做错了什么?
【问题讨论】:
-
你能在“bind_param”行之后写下“$prepare->queryString”的输出吗
-
应该在
bind_param()之前还是之后赋值? -
赋值似乎没有问题。这段代码似乎是正确的。请分享 $prepare->queryString 的结果,看看您的查询是否构建正确。
-
我正在努力。有趣的是;尽管代码完全相同,但它不会在另一个脚本中执行此操作。
-
你的 varchar 字段在数据库中有多长?