Laravel无法使用mysql_real_escape_string() [英] Laravel cannot use mysql_real_escape_string()

查看:59
本文介绍了Laravel无法使用mysql_real_escape_string()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试在Laravel中使用 mysql_real_escape_string()时出现数据库连接错误.流利的查询工作正常,因此我认为数据库配置正确.

I get a database connection error when trying to use mysql_real_escape_string() within Laravel. Fluent queries work properly so I assume that the database has been configured correctly.

如何从Laravel使用 mysql_real_escape_string()?由于Fluent的限制,我正在使用它来转义我需要构建的SQL查询中的值.

How should mysql_real_escape_string() be used from Laravel? I'm using it to escape the values in a SQL query that I need to build myself due to limitations of Fluent.

可构建我自己的SQL查询的PHP代码

    foreach($listings as $listing) {
        $listing = get_object_vars($listing);
        $query = 'INSERT IGNORE into archive ';
        $query .= '(' . implode(',', array_keys($listing)) . ') ';
        $query .= 'VALUES(' . implode(',', array_values( array_map('mysql_real_escape_string', $listing) )) . ')';
        DB::query($query);
    }

错误

mysql_real_escape_string() [function.mysql-real-escape-string]: 
Access denied for user 'nobody'@'localhost' (using password: NO)

推荐答案

Laravel使用 PDO ,所以没有转义,只有准备好的语句.请参阅有关数据库的Laravel手册.

Laravel uses PDO, so there's no escaping, just prepared statements. See the Laravel manual on databases.

这篇关于Laravel无法使用mysql_real_escape_string()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆