我正在尝试使用用户给定的字符串检查多个数据库。但SQL查询始终返回true。如果个人或公司数据库中存在电话号码,则必须返回false。
个人用户数据库:
| id | name | phone | gender |
--------------------------------------------------------
| 1 | John | 5551928321 | male |
| 2 | Michael | 5553270543 | male |
企业用户数据库:
| id | name | phone | company |
--------------------------------------------------------
| 1 | Megan | 5553748594 | demo1 |
| 2 | Ethan | 5559182012 | demo2 |
个人和公司表格具有相同和不同的字段。
PHP:
$phone = '5551928321'; // $this->input->post('phone', true);
$query = $this->db->select('individual.id, corporate.id')
->where('individual.phone', $phone)
->or_where('corporate.phone', $phone)
->get('individual, corporate');
if ($query->num_rows() > 0) echo 'FALSE';
else echo 'TRUE';
如果有人照亮我,看看它是如何运作的,我将非常高兴。
非常感谢你。
答案 0 :(得分:0)
你尝试过这样的事吗? (未经测试)
$query1 = $this->db->select('individual.id')->where('individual.phone', $phone)->get('individual');
$query2 = $this->db->select('corporate.id')->where('corporate.phone', $phone)->get('corporate'l);
if ($query1->num_rows() > 0 || $query2->num_rows() > 0){
echo true;
} else {
echo false;
}