为什么escape_string不起作用?

时间:2018-06-01 05:45:01

标签: php sql

我无法理解为什么找不到escape_string

static public function find_by_id($id) {
    $sql = "SELECT * FROM bicycles";
    $sql .= "WHERE id = '" . self::$database->escape_string($id) . "'";
    $obj_array = self::find_by_sql($sql);

    if (!empty($obj_array)) {
       return array_shift($obj_array);
    } else {
       return fasle;
    }
}

此处有警告信息:

enter image description here

2 个答案:

答案 0 :(得分:-1)

此消息只是来自IDE的警告,这不是程序错误。

您需要告诉IDE self::$database包含mysqli对象,因此它知道可用的方法。在属性声明之上,添加文档注释:

/**
 * @var mysqli
 */
private static $database;

答案 1 :(得分:-3)

目前尚不清楚$database对象的来源。

您最有可能在案件中使用mysql_escape_string

可以找到文档here