我有这段代码会产生以下错误:
警告:addcslashes()需要2个参数,第10行中给出1
我的代码是:
$searchtype = isset($_POST['searchtype']) ? $_POST['searchtype'] : null;
$searchterm = isset($_POST['searchterm']) ? $_POST['searchtype'] : null;
$searchterm = trim($searchterm);
if (!$searchtype || !$searchterm) {
echo 'You are not entered search detail. Please go back and try again';
}
if (!get_magic_quotes_gpc()) {
$searchtype = addcslashes($searchtype);//line 10 with error
$searchterm = addcslashes($searchterm);//line with error
}
@ $db = new msqli('localhost','root','','sales');
if (mysqli_connect_errno()) {
echo 'Error: Could not connect to database. Please try again leter.';
exit;
}
答案 0 :(得分:0)
就像您的错误所说,您必须使用两个参数addcslashes
,如下所示:
addcslashes($searchtype,"W");
请参阅: https://www.w3schools.com/php/func_string_addcslashes.asp
答案 1 :(得分:0)
您需要第二个参数,这是您想要转义的字符列表。例如:
echo addcslashes("Hello world", array("l")); // => He\l\lo wor\ld
在询问之前,您应该参考文档。
答案 2 :(得分:0)
您使用的方法addcslashes
需要http://php.net/manual/en/function.addcslashes.php
可能您正在寻找addslashes($searchtype)
答案 3 :(得分:0)
使用instead
的addslashes addcslashes
,您的问题就解决了。
答案 4 :(得分:0)
我刚遇到同样的情况,并且需要在两个阵列中都有相同的键,所以我最终这样做了,它对我有用:
let jsarray = {
<?php
foreach ($phparray as $key => $value) {
echo $key.':'.'"'.addslashes($value).'",';
}
?>
};