CodeIgniter多表选择不起作用

时间:2014-11-29 22:05:05

标签: php mysql sql codeigniter

我正在尝试使用用户给定的字符串检查多个数据库。但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';

如果有人照亮我,看看它是如何运作的,我将非常高兴。

非常感谢你。

1 个答案:

答案 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;
}