我有一个文本框,可以在数据库中插入一个新行。
问题是如果用户输入括号“(”或“)”,则不会插入行。
我尝试过使用$link->real_escape_string($value)
,但这似乎只能解决撇号问题。
还有另一个用括号吗?
谢谢!
编辑:代码:
foreach($_POST as $name => $value) {
if(0 === strpos($name, "amenities")){
//print "$name : $value<br>";
$query = "INSERT into content (`type`, `value`, `additional`) VALUES ('amenities', '" .$link->real_escape_string($value) . "', '')" or die("Error in the consult.." . mysqli_error($link));
$result = mysqli_query($link, $query);
}
}
答案 0 :(得分:2)
如果您的值中有space
,请尝试此解决方案
$query = "INSERT into content (`type`, `value`, `additional`) VALUES ('amenities', '".mysqli_real_escape_string($link,$value)."', '')" or die("Error in the consult.." . mysqli_error($link));
答案 1 :(得分:0)
尝试代替
$link->real_escape_string($value)
做类似的事情:
mysqli_real_escape_string($link, $value)
答案 2 :(得分:0)
使用mysqli_real_escape_string($ link,$ value)或只是{} ...查看示例:
&LT; ?PHP $ query =&#34; SELECT * FROM users WHERE user =&#39; {$ _ POST [&#39; username&#39;]}&#39;和密码=&#39; {$ _ POST [&#39;密码&#39;]}&#39;&#34;;
mysqli_query($查询);
echo $ query;
&#34; SELECT * FROM users WHERE user =&#39; aidan&#39;和密码=&#39;&#39;或&#39;&#39; =&#39;&#39;&#34; ?&GT;