$dyIds = [95,96,97,98]; if (in_array($goods_id , $dyIds)) { echo "11111"; $dy = Db::table('douyin_tuan')->where(['goods_id'=>$goods_id,'user_id'=>$this->user_id])->where('status', 'neq', '2')->find(); if (!$dy){ $this->error('该商品为团购专属,您不符合条件!'); } }
时间: 2023-05-20 17:05:47 浏览: 40
这是一段 PHP 代码,如果 $goods_id 在 $dyIds 数组中,就会输出 "11111",然后会查询数据库中 douyin_tuan 表中符合条件的数据,如果没有找到,会输出 "该商品为团购专属,您不符合条件!"。
相关问题
优化这段代码 $dyIds = array('95','96','97','98'); if (in_array($goods_id,$dyIds)) { echo "11111"; $dy = Db::table('douyin_tuan')->where(['goods_id'=>$goods_id,'user_id'=>$this->user_id])->where('status', 'neq', '2')->find(); if (!$dy){ $this->error('该商品为团购专属,您不符合条件!'); } }
这段代码可以进行如下优化:
$dyIds = ['95', '96', '97', '98'];
if (in_array($goods_id, $dyIds)) {
echo "11111";
$dy = Db::table('douyin_tuan')
->where('goods_id', $goods_id)
->where('user_id', $this->user_id)
->where('status', '<>', '2')
->find();
if (!$dy) {
$this->error('该商品为团购专属,您不符合条件!');
}
}
使用数组字面量代替 array(),使用 <> 代替 neq,使用链式调用代替多个 where() 方法,这样可以使代码更加简洁易读。
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;}有什么错误吗
这段代码有一个错误,即在执行 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` 变量中。最终,我们将原始数据和更新后的数据都返回给调用者,以便进行比较。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)