public function updateSeat($s_h_id,$seats){ $db = new DbManage(); $sqlTxt ="update screening_hall_info set seats = '".$seats."' where s_h_id = ".$s_h_id; $result = $db->executeSqlTxt($sqlTxt); $update = array(); while ($row = mysqli_fetch_array($result)){ array_push($update,$row); } return $update;}有什么错误吗
时间: 2024-02-17 20:03:50 浏览: 141
seatsio-python:Seats.io官方Python客户端库
这段代码有一个错误,即在执行 UPDATE SQL 语句之后,使用 `mysqli_fetch_array()` 函数尝试获取查询结果。由于 UPDATE 语句并不会返回查询结果,因此调用 `mysqli_fetch_array()` 函数时会出现上述错误。
如果你只是想检查 UPDATE 语句是否执行成功,可以使用 `mysqli_affected_rows()` 函数来获取受影响的行数,例如:
```php
public function updateSeat($s_h_id, $seats) {
$db = new DbManage();
$sqlTxt = "UPDATE screening_hall_info SET seats = '".$seats."' WHERE s_h_id = ".$s_h_id;
$result = $db->executeSqlTxt($sqlTxt);
$affectedRows = mysqli_affected_rows($db->getConnection());
return $affectedRows;
}
```
在这个例子中,我们使用 `mysqli_affected_rows()` 函数获取受影响的行数,并将结果返回。如果受影响的行数大于 0,说明 UPDATE 语句执行成功。如果受影响的行数等于 0,说明 UPDATE 语句没有修改任何数据。如果受影响的行数小于 0,说明执行 UPDATE 语句时发生了错误。
如果你需要获取更新后的数据,你可以在 UPDATE 语句执行之前,先使用 SELECT 语句查询一下原始数据,例如:
```php
public function updateSeat($s_h_id, $seats) {
$db = new DbManage();
// 查询原始数据
$query = "SELECT * FROM screening_hall_info WHERE s_h_id = ".$s_h_id;
$result = $db->executeSqlTxt($query);
$oldData = mysqli_fetch_array($result);
// 更新数据
$sqlTxt = "UPDATE screening_hall_info SET seats = '".$seats."' WHERE s_h_id = ".$s_h_id;
$result = $db->executeSqlTxt($sqlTxt);
// 查询更新后的数据
$query = "SELECT * FROM screening_hall_info WHERE s_h_id = ".$s_h_id;
$result = $db->executeSqlTxt($query);
$newData = mysqli_fetch_array($result);
return array("old" => $oldData, "new" => $newData);
}
```
在这个例子中,我们先使用 SELECT 语句查询原始数据,并使用 `mysqli_fetch_array()` 函数将查询结果存储在 `$oldData` 变量中。然后执行 UPDATE 语句,更新数据。最后再使用 SELECT 语句查询更新后的数据,并将查询结果存储在 `$newData` 变量中。最终,我们将原始数据和更新后的数据都返回给调用者,以便进行比较。
阅读全文