[英]How to get a single value from one record from a query into a field
在我的系統中,我有很多代碼實例,如下所示:
$value = mysqli_fetch_array(mysqli_query($con, "SELECT SUM(price) as total from items WHERE a=1 AND b=2"));
然后在代碼中稍后使用$value
並從數組中計算出總價格
我正在嘗試在一段新代碼中復制它,如下所示:
$recent_sale_id = mysqli_fetch_array(mysqli_query($con, "SELECT id as id FROM items where item_code='$item_code' and status='BULK-ITEM-SALE' order by sold_at DESC LIMIT 1"));
該查詢在直接針對數據庫運行時有效(當然用項目代碼替換 $item_code)。 但是$recent_sale_id
然后只有值 'Array'。
我想知道兩件事:
我究竟做錯了什么? 我的代碼似乎與其他正常工作的代碼完全相同。
是否有一種更簡單的方法可以將查詢中的值獲取到字段中,而不使用看起來會創建數組的函數? 有沒有更合適的mysqli_fetch*
函數?
您無法將$value
作為數字訪問,因為它也是一個數組。 在第一種情況下,您需要使用$value[0]
或$value['total']
來獲得結果; 在第二個$recent_sale_id[0]
或$recent_sale_id['id']
。 您可以使用任何一種形式,因為默認情況下mysqli_fetch_array
返回按列號和列名索引的數組。
不幸的是,MySQLi 接口沒有與 PDO 的fetchColumn
等效的fetchColumn
,它允許您直接從結果集中的行中獲取單個列的值。
如果 $recent_sale_id 在這種情況下返回一個數組,則意味着它是數組類型,並且就從 mysql 查詢獲取數據而言,它通常采用數組格式,盡管您添加了限制 1。
您可以做的一件事是嘗試$recent_sale_id[0]以獲得實際輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.