0
我有一个函数,插入或更新数据库中的值。如何绑定PHP准备并执行正确的语句?
我正在使用一个准备和执行语句,我想匹配我的函数ELSE
-clause用于匹配准备好的语句。
在我的ELSE
-clause中有一个更多的值(即$id
),所以我不确定是否可以将它分配给execute数组。
function insert_value($item_name, $description, $supplier_code, $cost, $sell_price,$num_on_hand, $reorder_point, $back_order, $id=0)
{
$connection = db_connect();
if($id==0)
{
$sql = 'INSERT INTO inventory (itemName, description, supplierCode, cost, price, onHand, reorderPoint, backOrder)
VALUES(:itemName, :description, :supplierCode, :cost, :price, :onHand, :reorderPoint, :backOrder);';
}
else
{
//NEED TO CHANGE THIS PART
$sql = "UPDATE inventory SET itemName='$item_name', description='$description', supplierCode='$supplier_code',
cost='$cost', price='$sell_price', onHand='$num_on_hand', reorderPoint='$reorder_point', backOrder='$back_order'
WHERE id='$id'";
}
$prepare = $connection->prepare($sql);
$prepare->execute(array( // AND THIS PART
":itemName" => $item_name,
":description" => $description,
":supplierCode" => $supplier_code,
":cost" => $cost,
":price" => $sell_price,
":onHand" => $num_on_hand,
":reorderPoint" => $reorder_point,
":backOrder" => $back_order,
));
}
把你的数组赋给一个变量,并在'else'中有'$ arr [“:id”] = $ id;'。 – Class
可以请你更详细地解释我 – Nakib