从表中选择,但从值中删除空格

时间:2014-04-07 07:50:20

标签: php mysql sql

我正在尝试使用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

我怎样才能确保它们匹配?

4 个答案:

答案 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");