簡體   English   中英

如何使用計算出的變量值更新表字段

[英]how to update a table field with a variable value calculated

$ average是我想要替換/更新表中價格字段的變量。 表結構為:

和$ key是變量,通過它我可以獲得此表的編號。


nid | sku     | price
7   |  prod-1 | 10
9   | prod-2  | 12

我正在使用的更新查詢是:


$query =db_query("UPDATE products a SET a.price = $average WHERE a.sku = $key");

但它給出了一個錯誤:


PDOException: SQLSTATE[22007]: Invalid datetime format: 1292 Truncated incorrect DOUBLE value: 'tshirtm': UPDATE products a SET a.price = 1.75 WHERE a.sku = 7; Array ( ) in formModule_form_submit() (line 233 of D:\xampp\htdocs\olinestore\store\sites\all\modules\formModule\formModule.module).

我注意到WHERE條件是sku = 7-但是在您的示例數據中,sku是varchar嗎? 這是想成為裸體嗎?

可能的問題是您的價格列的數據類型是整數,但是您正在嘗試將其更新為小數。 根據您的RDBMS,可以輕松解決此問題。

祝好運。

當$ key對應於nid時,您不應使用sku。 嘗試這個:

$query =db_query("UPDATE products a SET a.price = $average WHERE a.nid = $key");

暫無
暫無

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

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