too long

I am trying to sum the values from a column using mysqli prepared statement with the code below but is not working. Does anyone can help me pointing what I am doing wrong? Thanks!

$stmt2 = $mysqli->prepare("SELECT SUM(col) as total FROM tb_a WHERE user=?");

$stmt2->bind_param("s", $user);
$stmt2->execute();
$op_row = $stmt2->fetch_assoc();

echo $op_row['total'];

Give this a go:

$user = "Larry"; // example

$stmt = $mysqli->prepare("SELECT SUM(col) FROM tb_a WHERE user=?");
    $stmt->bind_param("s", $user);
    $stmt->execute();
    $stmt->bind_result($total);

    $stmt->fetch();

    echo $total;

or

$user = "Robert"; // example

$stmt = $mysqli->prepare("SELECT SUM(col) FROM tb_a WHERE user=?");
    $stmt->bind_param("s", $user);
    $stmt->execute();
    $stmt->bind_result($total);

    while ($stmt->fetch()) {

    echo $total;

}

Try this:

$stmt2 = $mysqli->prepare("SELECT SUM(col) as total FROM tb_a WHERE user=?");
$stmt2->bind_param("s", $user);
$stmt2->execute();
$res = $stmt2->get_result();
$row = $res->fetch_assoc();

The prepared statement object do not have a fetch_assoc() method so you should first use get_result() and the result of that has a fetch_assoc()

Try this

$conn = new mysqli;
$sum = "SELECT SUM(col) as total FROM tb_a WHERE user=?";
$stmt = $conn->prepare($sum);
$stmt->bind_param("s", $user);
$sum= $stmt->execute();