MySQLi错误:addcslashes()需要2个参数,给定1个

时间:2017-02-15 20:43:00

标签: php laravel

我有这段代码会产生以下错误:

  

警告: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;
}

5 个答案:

答案 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

在询问之前,您应该参考文档。

http://php.net/manual/en/function.addcslashes.php

答案 2 :(得分:0)

您使用的方法addcslashes需要http://php.net/manual/en/function.addcslashes.php

中所述的2个参数

可能您正在寻找addslashes($searchtype)

答案 3 :(得分:0)

使用instead的addslashes addcslashes,您的问题就解决了。

答案 4 :(得分:0)

我刚遇到同样的情况,并且需要在两个阵列中都有相同的键,所以我最终这样做了,它对我有用:

let jsarray = {
              <?php
                foreach ($phparray as $key => $value) {
                  echo $key.':'.'"'.addslashes($value).'",';
                }
              ?>
            };