Php MySQLi带有real_escape_字符串,不使用括号
我有一个文本框,可以在数据库中插入新行 问题是,如果用户输入括号“(”或“)”,它不会插入行 我尝试过使用Php MySQLi带有real_escape_字符串,不使用括号,php,mysqli,Php,Mysqli,我有一个文本框,可以在数据库中插入新行 问题是,如果用户输入括号“(”或“)”,它不会插入行 我尝试过使用$link->real\u escape\u string($value),但这似乎只解决了撇号的问题 是否还有其他可与括号一起使用的选项 谢谢 编辑:代码: foreach($_POST as $name => $value) { if(0 === strpos($name, "amenities")){ //print "$name : $value<
$link->real\u escape\u 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);
}
}
foreach($\u发布为$name=>$value){
如果(0==STRPO($name,“便利设施”)){
//打印“$name:$value
”;
$query=“插入内容(`type`、`value`、`additional`)值(`professions`、'''.$link->real\u escape\u string($value)。”、''”或死(`consult...mysqli\u Error($link));
$result=mysqli\u查询($link,$query);
}
}
尝试而不是
$link->real\u escape\u string($value)
做一些类似于:
mysqli\u real\u escape\u string($link,$value)
如果您的值中有空格,请尝试此解决方案
$query = "INSERT into content (`type`, `value`, `additional`) VALUES ('amenities', '".mysqli_real_escape_string($link,$value)."', '')" or die("Error in the consult.." . mysqli_error($link));
使用mysqli_real_escape_字符串($link,$value)或只是{}。。。参见一个示例:
<?php
$query=“从用户中选择*,其中用户={$\u POST['username']}和密码={$\u POST['password']}”
mysqli_查询($query)
echo$query
“从用户='aidan'和密码=''或''=''的用户中选择*”
?>如果您使用mysqli准备好的语句,您不必逃避任何事情:)请发布与数据发布和接收相关的代码。@Begueradj发布了上面的代码。所有其他POST请求都可以正常工作,但它会忽略任何带括号的请求。@MRC我使用表单输入中输入的(hello)
和(“hello”)
测试了您的代码,效果非常好。这是其他原因造成的。值的列类型和长度是多少?另外,这可能是你的条件语句造成的。尝试删除它并将其作为单个条目使用。嗯,谢谢你的帮助。我很困惑,因为我检查了几个关于这个的问题,但他们说用另一种方式。事实上,很抱歉,这不起作用。当我在一个字符串的末尾加上“()”时,它起作用了,但对这个字符串不起作用:“平板电视的40多个有线频道(好的选择和体育)”尝试了你的新答案,但没有成功。给出关于只有一个参数的错误,我添加了另一个参数,但仍然不起作用。@Arif_suhail_123您应该始终在答案中进行编辑,以反映您所做的评论。我已经为它做了编辑@Arif_suhail_123谢谢兄弟。顺便说一句,我测试了OP的代码,没有问题。所以,是其他原因造成的。@Arif_suhail_123我猜是foreach
循环导致了问题。@Arif_suhail_123也可能是一个因素。和/或表单元素已包含空格。最好使用trim()
。您好,我已经尝试在变量周围使用{},我可以看出这更容易,但它仍然没有插入行。