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

MySQL / PHP出力配列はクエリを繰り返してから結果を表示しますが、クエリを削除するにはどうすればよいですか?

    まず、プリペアドステートメントを使用することをお勧めします。

    次に、クエリを配列キーとして取得します。結果にはエイリアスがないため、配列に表示されます。

    第三に、EXISTSは本当に必要ありません ここ。

    第四に、ここでもループは必要ありません:

    $query = "SELECT COUNT(*) FROM wp_woocommerce_order_items as item_exists WHERE order_id = $sdata";
    if ($result = mysqli_query($conn, $query)) {
    
        $newArr = array();
        $value = mysqli_fetch_object($result);
        $newArr[] = (bool) $value->item_exists;
    
        echo json_encode($newArr); // get all products in json format.    
    }
    

    プリペアドステートメントの使用:

    $stmt = $mysqli->prepare('SELECT COUNT(*) as item_exists FROM wp_woocommerce_order_items WHERE order_id = ?');
    $stmt->bind_param("i", $sdata);
    $stmt->execute();
    $result = $stmt->get_result();
    $row = $result->fetch_assoc();
    $stmt->close();
    
    echo json_encode((bool) $row['item_exists']);
    
    



    1. mysql_real_escape_string()とmysql_escape_string()はアプリのセキュリティに十分ですか?

    2. 休日の計算:Oracleの指定された日付範囲クエリ内の土曜日と日曜日の数

    3. 繰り返しなしでデータベースからランダムな行にアクセスする

    4. 異なる日の個々の最大値の差をどのように取得できますか?