客户可以拥有3个不同的电话号码,我想根据阵列电话中的号码从数据库中检索这些电话号码。回复客户的电话号码
function statsUserRing($phone, $link)
{
$i = 0;
$p1 = preg_replace('/[^0-9]/', '', $phone[0]);
$p2 = preg_replace('/[^0-9]/', '', $phone[1]);
$p3 = preg_replace('/[^0-9]/', '', $phone[2]);
while($get_stats = $link->get_object("SELECT REPLACE(telnr,'-', '') as telnr FROM ringupp WHERE telnr LIKE '%$p1%' OR telnr LIKE '%$p2%' OR telnr LIKE '%$p3%'"))
{
$i++;
}
return $i;
}
我试图与一个客户,有2个电话号码登记。所以我的数组包含2个值,即这些数字。
这两个数字在我的ringupp表中出现了16次,但是当我运行上面的代码时,它将其计为204154。为什么?
我会冒险猜测你的第三个电话号码是一个空字符串,所以你的最后一个子句成为'OR telnr LIKE'%%'',它将返回所有内容。 – GarethD
是的,在这种情况下,第三个电话号码是空字符串。客户可以有1个,2个或3个号码。查询应该如何? – user500468