修改MySQL基于数组的语句

时间:2010-05-22 21:35:10

标签: php mysql arrays

使用这样的数组:

$data = array
     (
       'host' => 1,
       'country' => 'fr',
     )

我想创建一个MySQL查询,它使用数组的值来形成其WHERE子句,如:

SELECT *
FROM table
WHERE host = 1 and country = 'fr'

如何生成此查询字符串以用于MySQL?

2 个答案:

答案 0 :(得分:4)

试试这个

$where = '';

foreach( $data as $k => $v ) {
    if( !empty( $where ) )
        $where .= ' AND ';

    $where .= sprintf( "`%s` = '%s'", mysql_real_escape_string( $k ), mysql_real_escape_string( $v ) );
}

mysql_query( "SELECT * FROM `table` WHERE $where" );

答案 1 :(得分:0)

请不要使用嵌入数据构建S​​QL语句。看这里:http://bobby-tables.com/php.html