Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQLi带有real_escape_字符串,不使用括号_Php_Mysqli - Fatal编程技术网

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()
。您好,我已经尝试在变量周围使用{},我可以看出这更容易,但它仍然没有插入行。