![](/img/trans.png)
[英]PHP/MYSQL - MYSQLI - Prepared Statements - How to get the value of this query?
[英]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.