Mysql
 sql >> Base de données >  >> RDS >> Mysql

Le tableau de sortie MySQL/PHP répète la requête, puis affiche le résultat, comment puis-je supprimer la requête ?

Tout d'abord, je vous recommande d'utiliser des instructions préparées.

Deuxièmement, vous obtenez votre requête sous la forme d'une clé de tableau car le résultat n'a pas d'alias, c'est pourquoi vous le voyez dans votre tableau.

Troisièmement, vous n'avez pas vraiment besoin de EXISTS ici.

Quatrièmement, vous n'avez pas besoin d'une boucle ici non plus :

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

Utilisation d'instructions préparées :

$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']);