Açıklama Array dayanarak MySQL değiştirme

2 Cevap php

Böyle bir dizi kullanarak:

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

Ben gibi onun WHERE yan tümcesi oluşturmak için dizinin değerlerini kullanan bir MySQL sorgusu oluşturmak istiyorum:

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

Nasıl bu sorgu dizesi MySQL ile kullanmak için oluşturabilir?

2 Cevap

Bu deneyin

$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" );

Gömülü veri ile SQL ifadeleri inşa etmeyiniz lütfen. Buraya bak: http://bobby-tables.com/php.html