我是 php 和 mySql 的新手。我正在尝试使用 php 和 mysql 更新多行。
我在更新 MySQL 数据库中的多行时遇到问题。它只更新数据库中表的最后一行。例如,用户点击查看产品。该页面将列出当前在数据库中的 10 个产品。用户希望通过点击方式更新产品信息。完成更新后,用户点击提交。
问题是它只捕获和更新表中最后一个产品的信息。我试图把它放在 foreach() 函数中。但它不起作用。
请帮忙。我刚学 PHP 和 mySQL 不到一周。我非常感谢任何帮助。
<?php
include 'dbconn.inc.php';
include 'functions.inc.php';
$sql = "SELECT * FROM products";
$res = $mysqli->query($sql);
while( $row = $res->fetch_array(MYSQLI_ASSOC) ){
$products($row['id']) = 'id';
}
$id = $mysqli->real_escape_string( $_POST['id'] );
$weight = $mysqli->real_escape_string( $_POST['weight'] );
$name = $mysqli->real_escape_string( $_POST['name'] );
$supplier_id = $mysqli->real_escape_string( $_POST['supplier_id'] );
$price = $mysqli->real_escape_string( $_POST['price'] );
$description = $mysqli->real_escape_string( $_POST['description'] );
foreach( $products as $id){
$sql = "UPDATE products
SET
`id` = '$id',
`weight` = '$weight',
`price` = '$price',
`name` = '$name',
`supplier_id` = '$supplier_id',
`description` = '$description'
WHERE `id` = '$id'";
}