Laravel无法使用mysql_real_escape_string() [英] Laravel cannot use 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屋!