0

我是 cakephp 新手,如何在 cakephp 中编写下面的 sql 查询

$sql = "SELECT * FROM `user` WHERE `email` = '" . $email . "' AND  `password` = '" . $password . "'";

$result = mysql_query($sql, $connection);

while($fetchdata = mysql_fetch_assoc($result)){
    echo $fetchdata['name'];
}

请帮助我谢谢

4

5 回答 5

2

在您的用户控制器中,您可以执行以下操作:

$this->set('user',$this->User->find('all', array ('conditions' => array('email' => $email, 'password' => $password))));

在你看来

foreach ($user as $us) {
   echo($us['name']);
//your code
}
于 2013-02-22T09:55:33.657 回答
1

阅读此内容以使用 cakephp 框架轻松进行身份验证 http://book.cakephp.org/2.0/en/tutorials-and-examples/blog-auth-example/auth.html

于 2013-02-22T09:54:15.240 回答
1

对于您的查询:

<?php

 $this->loadmodel('User');
 $result = $this->User->find('first',array('conditions' => array('email' => $email,  
 'password' => $password)));
 foreach($result as $row)
 {
   //do whatever you want to do

 }
?>
于 2013-02-22T09:58:22.067 回答
1

使用 cakephpfind方法来做到这一点。

<?php

    $users = $this->User->find('first',array
    (
        'conditions' => array
        (
            'User.email'    => $email,
            'User.password' => $password
        )
    ));

    pr($users);
    exit;

?>

我已添加pr($users);exit;用于调试查询结果。

您还可以通过recursive,limitorder以及 find 方法findcakephp上阅读更多信息

于 2013-02-22T10:05:43.770 回答
1

如果您在用户控制器中,则无需加载模型并连接数据库。如果您从另一个模型访问用户模型,则将您的用户模型加载到您的控制器中。您可以通过两种方式加载模型

$this->loadmodel('User');
or
public $uses = array('User');
$results = $this->User->find('all',array('conditions' => array('email' => $email,'password' => $password)));
$this->set(compact('results '));

现在在你的视图文件中使用这个

foreach ($results as $users) {
  echo h($users['User']['email']);
  echo h($users['User']['password']);
}
于 2017-02-09T05:37:18.597 回答