sql >> Databasteknik >  >> RDS >> Mysql

MySQL/PHP output array upprepar frågan och visar sedan resultatet, hur kan jag ta bort frågan?

Först och främst skulle jag rekommendera dig att använda förberedda uttalanden.

För det andra får du din fråga som en arraynyckel eftersom resultatet inte har något alias, så det är därför du ser det i din array.

För det tredje behöver du egentligen inte EXISTS här.

För det första behöver du inte en slinga här heller:

$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.    
}

Använd förberedda uttalanden:

$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. Hantera MySQL-fel när du använder Ajax

  2. rekursiv funktion för dynamisk flernivåmeny php

  3. Vad händer när jag skickar booleskt True-False till en PDO-sats som en parameter som är bunden till ett int-fält?

  4. Databasbelastningsbalansering:distribuerade vs centraliserade inställningar