簡體   English   中英

如何在php准備好的語句中顯示值

[英]How to show value in php prepared statements

我有以下查詢,我想打印“總計”,我想打印總計,就像我打印“ num_rows”一樣,我該怎么做?

$stmt = $conn->prepare("SELECT SUM( total) AS total FROM money");
            $stmt->execute();
            $stmt->store_result();
            print $stmt->total;

我的表結構是這樣的

id user monthly_pay total
1  Adam  1500       1500
2  Erik 1500       1500 
3  Mark  1500      1500
4 Gusta 1500       1500
5  Mike 1500       1500

我要查看總計“ 75000”

在不處理用戶輸入時,完全不需要使用准備好的語句,但是使用它也不存在任何缺點(如果擴展查詢以處理變量/用戶輸入,則基礎工作已經完成!)。 這意味着對於這樣的靜態查詢,您可以只使用常規的query()函數。

但是,使用這樣的准備好的語句,您需要綁定結果並獲取它。 使用$stmt->num_rows會欺騙您,因為這將返回查詢返回的行數-僅為1。它將不返回結果。

以下代碼段已修改為使用bind_result()fetch() 這將准備查詢,將結果綁定到$sum並獲取它。

$stmt = $conn->prepare("SELECT SUM( total) AS total FROM money");
$stmt->execute();
$stmt->bind_result($sum);
$stmt->fetch();
print "The sum is ".$sum;

參考

您應該使用PDO :: fetch()

$stmt = $conn->prepare("SELECT SUM( total) AS total FROM money");
            $stmt->execute();
            $stmt->store_result();
            $result = $stmt->fetch(PDO::FETCH_ASSOC);
            print_r($result);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM