【问题标题】:Changing from MSQL to MYSQLI real_escape_string $link从 MYSQL 更改为 MYSQLI real_escape_string $link
【发布时间】:2013-06-12 07:33:00
【问题描述】:

目前我正在使用mysql_real_escape_string(trim($_POST['new_name']));,它工作正常,但是当我将其更改为mysqli_real_escape_string(trim($_POST['new_name'])); 时,我得到Message: mysqli_real_escape_string() expects exactly 2 parameters, 1 given

我正在使用 codeigniter,因此我的数据库连接将采用 $this->db 的形式。

【问题讨论】:

  • 你没有做任何研究。如果您访问过 php 文档并看到 mysqli_real_escape_string 页面,您就会知道它需要 2 个参数。你想逃避什么和连接的链接
  • @AliTrixx 是的,我做到了,但是因为我使用的是 CI,所以我对 $link var 应该是什么感到困惑
  • 通过提出一个不好的问题,您对发帖人和网站都没有任何好处。解释他们在 cmets 中的错误,而不是“安慰性的投票”。

标签: php codeigniter mysqli


【解决方案1】:

使用 Codeigniters 查询绑定而不是转义。也使用$this->input->post(),而不是直接访问$_POST

$query = "SELECT * FROM table WHERE name = ?";
$this->db->query($query, array($this->input->post('new_name'));

如果你必须使用转义(错误的方式),那么使用:

$new_name = $this->db->escape_str($this->input->post('new_name'));

【讨论】:

    猜你喜欢
    • 2011-08-16
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-03
    相关资源
    最近更新 更多