$_POST['data']包含一個id和其他欄位,需要用這個id插入一個DB行。
在這段代碼中,是否有辦法避免重復的內容:
$data = json_decode($_POST['data'/span>]。true)。)
$db = new PDO('sqlite:data.db')。
$stmt = $db->prepare("UPDATE test SET a=?, b=? , c=? , d=? , e=? , f=? WHERE id=?")。)
$stmt-> execute(array($data['a']。$data['b'], $data['c'] 。$data['d'], $data['e'] 。$data['f'], $data['id'])。)
如何避免重復列名a, ..., f兩次,一次在準備陳述句中,一次在陣列中?
我們是否可以完全避免硬編碼列名a, ..., f,而只是從$data陣列的鍵中推斷它們?
uj5u.com熱心網友回復:
你可以通過使用命名的占位符而不是?來使它更容易。然后你就可以把$data作為引數傳給execute()
$stmt = $db-> prepare("UPDATE test SET a=: a, b=:b, c=B, d=:d, e=:e, f=:f WHERE id=:id")。)
$stmt->execute($data)。
這只是把多余的部分從execute()引數移到占位符上。但它不那么冗長。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/332644.html
標籤:
