La devolución de un valor 0 de una fila de base de datos en PHP / MySQL después de una consulta

Pedro Carvalho:

Estoy tratando de crear una página donde puedo conseguir los valores de los registros de una base de datos. Mi consulta es la siguiente:

Así que necesito para obtener el número de los valores 1 en el estado (como el recuento) de la tableexample si existen y contarlos, si no existen, lo que necesito para obtener el valor 0 como de ella. Para obtener los valores que utilizo este código y funciona muy bien, pero me parece que no puede tener el valor de retorno 0 en mi código PHP si no se encuentran resultados. Estoy un poco perdido.

$user = $_SESSION["user"];
$systems = mysqli_connect("localhost", "root", "", "testdatabase");
$query = "SELECT SUM(count) AS value_sum FROM tableexample WHERE user = '$user' AND status = '1'";
$request = mysqli_query($systems, $query);
if (mysqli_num_rows($request) > 0) {
    while ($row = mysqli_fetch_array($request)) {
        echo '' . $row["value_sum"] . '';
    }
} else {
    echo '0';
}

Por lo que este código obtiene los valores sin ningún problema, pero cuando coloco "si no" se debe dar yo valoro 0, pero no me da nada.

Alguna idea sobre cómo puedo solucionar esto sin cambiar mi código hasta ahora tanto?

Chemaclass:

Usando DOP sería algo como esto:

$dsn = "mysql:host=localhost;dbname=myDatabase;charset=utf8mb4";
$pdo = new PDO($dsn, "username", "password", $options = []);
$stmt = $pdo->prepare('
    SELECT SUM(count) AS value_sum 
    FROM `table_example` 
    WHERE `user` = :user 
    AND `status` = "1"'
);
$stmt->bindParam(':user', $_SESSION["user"], PDO::PARAM_STR);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
echo $row['value_sum'] ?? 0;

No es necesario escribir ningún lazo o comprobación anterior con el fin de obtener el valor de la suma.

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=402648&siteId=1
Recomendado
Clasificación