$sql = "SELECT * FROM admin WHERE username='$username' AND password='$password' AND type='admin'"; 这个查询语句会返回符合用户名、密码和账号类型为 "admin" 的管理员账号。如果需要查询普通用户账号,则需要将 "type" 字段的值设置为 "user",并将查询语句中的条件改为 "type='user'"。将这些改编成orm框架代码
时间: 2024-02-21 22:00:11 浏览: 143
假设你使用的是 Laravel 框架,可以使用 Eloquent ORM 来执行数据库操作。可以在 `Admin` 模型中定义一个 `type` 字段,然后使用 `where` 方法来构建查询条件,如下所示:
```php
class Admin extends Model
{
protected $table = 'admin';
// 定义 type 字段
const TYPE_ADMIN = 'admin';
const TYPE_USER = 'user';
// 查询管理员账号
public static function findAdmin($username, $password)
{
return static::where('username', $username)
->where('password', $password)
->where('type', self::TYPE_ADMIN)
->first();
}
// 查询普通用户账号
public static function findUser($username, $password)
{
return static::where('username', $username)
->where('password', $password)
->where('type', self::TYPE_USER)
->first();
}
}
```
在上面的代码中,`findAdmin` 方法用于查询管理员账号,`findUser` 方法用于查询普通用户账号。在查询条件中,使用 `where` 方法来构建查询条件,而不是手动拼接 SQL 语句。
调用 `findAdmin` 方法或 `findUser` 方法时,只需要传入用户名和密码即可,如下所示:
```php
$username = 'admin';
$password = '123456';
// 查询管理员账号
$admin = Admin::findAdmin($username, $password);
if ($admin) {
// 登录成功,跳转到管理页面
return redirect()->route('admin.index');
} else {
$error = "用户名或密码不正确";
}
```
阅读全文