我正在尝试使用PHP / MySQL从表中进行选择。
我想跑:
$stmt = $pdo_conn->prepare("SELECT * from customer where phone = :phone ");
$stmt->execute(array(':phone' => $res));
$records = $stmt->fetchAll(PDO::FETCH_ASSOC);
客户表中的,电话等于00000 00 00 00
但$res
等于00000000000
我怎样才能确保它们匹配?
答案 0 :(得分:5)
您可以使用replace ...替换空格。
where replace(phone, ' ', '') = :phone
答案 1 :(得分:0)
一次性操作:从列phone
中删除空格,连字符和其他特殊字符(让我们在此处称之为消毒)。
查询时:清理您的$res
变量。
(这样,phone
列上的索引(如果有的话)被使用)
如果您需要保留电话号码的原始格式,请将电话号码存储在两列中:phone_user_input
(由用户输入),phone
(已消毒)
答案 2 :(得分:0)
只需使用str_replace
。
$stmt = $pdo_conn->prepare("SELECT * from customer where phone = :phone ");
$stmt->execute(array(':phone' => str_replace(" ","",$res)));
$records = $stmt->fetchAll(PDO::FETCH_ASSOC);
答案 3 :(得分:-2)
你可以使用trim()或者爆炸。
explode(" ","00000 00 00 00");