sql >> データベース >  >> RDS >> Mysql

配列をmysqlに渡す

    $ids = array(1, 2, 3, 4);
    
    $ids = join(', ', $ids);
    $query = "SELECT * FROM business WHERE business_id IN ($ids)";
    // $query => SELECT * FROM business WHERE business_id IN (1, 2, 3, 4)
    

    通常のSQLインジェクションの警告は引き続き適用されます。最初にIDをループして、それらを検証またはエスケープすることをお勧めします。また、数字の代わりに文字列が必要な場合は、次を使用してください:

    $ids = array('a', 'b', 'c', 'd');
    
    $ids = join("', '", $ids);
    $query = "SELECT * FROM business WHERE business_id IN ('$ids')";
    // $query => SELECT * FROM business WHERE business_id IN ('a', 'b', 'c', 'd')
    


    1. MYSql config bind-addressは0.0.0.0に設定されていますが、netstatはUbuntuでは異なって表示されます

    2. pdoexecuteで同じパラメータ値を複数回割り当てる

    3. VPS/専用サーバーでPostgreSQLを入手する方法

    4. SQLServerで文字列を分割する方法