我应该把mysqli_real_escape_string放在哪里

时间:2015-08-11 03:24:44

标签: php

我有这样的代码但是当我点击提交它给我错误 mysqli_real_escape_string()期望参数2是字符串,数组 给我应该在哪里或把mysqli_real_escape_string?

if(!empty($_POST['poscon'])) {
        foreach($_POST['poscon'] as $condition) 
            $condition=mysqli_real_escape_string($link,$_POST['poscon']);

2 个答案:

答案 0 :(得分:1)

看到你没有回复评论,我将此作为答案发布。
- 也许你会回应。

您看到了foreach($_POST['poscon'] as $condition)

您正在使用错误的参数并传递数组而不是$condition变量。

执行$condition=mysqli_real_escape_string($link,$condition);

答案 1 :(得分:0)

当您从视图中获取用户输入时,您应该检查。

mysqli_real_escape_strin g定义

此函数用于创建可在SQL语句中使用的合法SQL字符串。给定的字符串被编码为转义的SQL字符串,并考虑了连接的当前字符集。

mysqli_real_escape_string手册

  1. 普通文字

    Early `$name = $_POST['name'];`        
    New Practice `$name = mysqli_real_escape_string($_POST['name'])`
    
  2. 网址

    Early `$url = $_POST['url'];`        
    New Practice `FILTER_VALIDATE_URL` [Check Example](http://www.w3schools.com/php/filter_validate_url.asp)
    
  3. 电子邮件

    Early `$email = $_POST['email'];`        
    New Practice `FILTER_VALIDATE_EMAIL` [Check Example](http://www.w3schools.com/php/filter_validate_email.asp)
    
  4. 更实用的文章

    1. Is mysqli_real_escape_string safe?
    2. mysql(i)_real_escape_string, safe to rely on?
    3. mysqli::real_escape_string, mysqli_real_escape_string