我如何在 codeigniter 中编写这个 MYSQL 语句?
Posted
技术标签:
【中文标题】我如何在 codeigniter 中编写这个 MYSQL 语句?【英文标题】:How do i write this MYSQL statement in codeigniter? 【发布时间】:2016-07-17 10:41:59 【问题描述】:SELECT *, (UserPassword = $pass) AS UserPasswordMatch FROM all_users WHERE UserName = $Username
【问题讨论】:
您的意思是使用 Activerecord 吗?因为否则它只是$query = $this->db->query("[...]"); foreach( $query->result() as $row ) [...]
。
是的 Active Record.. 有人可以帮忙吗? $this->db->query("[...]");不工作.....
【参考方案1】:
您有 2 个选项 作为普通查询
$this->db->query("SELECT *, (UserPassword = $pass) AS UserPasswordMatch FROM all_users WHERE UserName = $Username");
return $this->db->get()->result();
使用 CI 的活动记录
$this->db->select('*')->from('all_users')->where(array('UserPassword' => $pass, 'UserName' => $Username));
return $this->db->get()->result();
【讨论】:
第一个选项不起作用?但是您错过了第二个选项 (UserPassword = $pass) As UserPasswordMatch 错误编号:1054 Champ '40bd001563085fc35165329ea1ff5c5ecbdbbeef' inconnu dans field list SELECT *, (UserPassword = 40bd001563085fc35165329ea1ff5c5) AS UserPasswordMatch WROM all_users> 嗨,对不起,在第一个选项中我写错了句子$this->db->query("SELECT id, UserName, UserPassword AS UserPasswordMatch FROM all_users WHERE UserName = $Username AND UserPassword = $pass"); return $this->db->get()->result();
【参考方案2】:
希望这会有所帮助:
第一选择 without using active records
:
<?php
$q = $this->db->query("SELECT * FROM all_users WHERE UserName = '$Username' AND UserPassword = '$pass'");
return $this->db->get()->result();
?>
第二个选项使用active records
:
<?php
$this->db->select('*');
$this->db->from('all_users');
$this->db->where('UserName', $Username);
$this->db->where('UserPassword', $pass);
return $this->db->get()->result();
?>
【讨论】:
以上是关于我如何在 codeigniter 中编写这个 MYSQL 语句?的主要内容,如果未能解决你的问题,请参考以下文章
CodeIgniter:My_Lang 中的 get_instance
我如何在 codeigniter 模型中编写简单的 mysql 查询
如何将Codeigniter与MSSQL(SQL Server)连接?