编程要求 按要求补全右侧代码中的where()和select()部分。 提示:请参考注释中提供的步骤。 注意:sql语句的连接词and和where在于其它字符串连接时,前后要有空格。把查询条件拼接到SQL语句时,要求查询的属性为全部属性,即select *。 评测说明 平台将自动编译补全后的代码,接着根据程序的输出判断程序是否正确。 测试程序为: $student =new model('student'); $where = array( array('id','3','>='), //表示查询“id >= 3”的数据 array('gender','女','='), //表示查询“gender = 女”的数据 ); $res = $student->where($where)->select(); var_dump($res); 所用到的数据已经保存在平台的数据库中。
时间: 2023-12-25 14:04:48 浏览: 87
UCenter info: MySQL Query Error SQL:SELECT value FROM [Table]vars WHERE noteexists
```php
class model {
private $table;
public function __construct($table) {
$this->table = $table;
}
public function where($where) {
$sql = "SELECT * FROM " . $this->table . " WHERE ";
foreach ($where as $item) {
$sql .= $item[0] . " " . $item[2] . " '" . $item[1] . "' AND ";
}
$sql = rtrim($sql, "AND ");
$this->sql = $sql;
return $this;
}
public function select() {
$link = new mysqli('localhost', 'root', '123123');
$link->query('set names utf8');
$link->query('use itcast');
$res = $link->query($this->sql);
$result = array();
while ($row = $res->fetch_assoc()) {
$result[] = $row;
}
return $result;
}
}
```
在本例中,`where()` 方法使用了 `$where` 参数来指定查询条件。该参数是一个二维数组,每个子数组都包含三个元素:属性名、属性值和比较操作符。使用 `SELECT *` 查询所有属性。在 `where()` 方法中,将查询条件拼接到 SQL 语句中,并存储在类的 `$sql` 成员变量中。需要注意的是,SQL 语句中的 `AND` 连接词前后需要有空格,可以使用 `rtrim()` 函数去掉 SQL 语句中最后的 `AND` 和空格。最后,使用 `select()` 方法执行查询操作,并将结果返回。
阅读全文