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

配列を使用したMySQLクエリ

    2番目のクエリは$thelistを使用する必要があります $rowではありません 、およびwhileの外にある必要があります ループ。 foreach 単一行を処理する場合、ループは不要です。名前には$rowでアクセスできます 単純な$row[0] 。このようなもの(テストされていない):

    $query1 = "SELECT name FROM clients WHERE sector = '$sectorlink'";
    $clientresult = mysql_query($query1, $connection) or trigger_error("SQL", E_USER_ERROR);
    
    while($row = mysql_fetch_array($clientresult)){
        $temp[] = '"'.$row[0].'"';
    }
    
    $thelist = implode(",",$temp);
    $query = "SELECT count(*) FROM studies WHERE client IN ($thelist) ORDER BY (date) desc";
    $result = mysql_query($query, $connection) or trigger_error("SQL", E_USER_ERROR);
    

    注意: コードはSQLインジェクション攻撃に対して非常に脆弱であることに注意してください。 。テストや内部開発には問題ありませんが、このコードでFort Knox Webサイトを実行する場合は、かなり修正する必要があります。参考までに。 :-)



    1. Postgres:タイムスタンプを最も近い分に切り上げるまたは切り下げるにはどうすればよいですか?

    2. ALTERTABLEテーブルAUTO_INCREMENT=$ x

    3. sp_executesqlはパラメータで遅い

    4. 私の場合、OracleでSQLを作成するにはどうすればよいですか?