查询中的前一个变量给了我一个值$name。我需要找到与该名称相关联的用户id,但是在我的user表中有两个字段,firstName和lastName。
我不能让$name爆炸,因为我有双重名称(例如)和姓氏(例如),所以我的尝试是找到一种将firstName + lastName与$name相匹配的方法。
我的尝试是:
$drid = "SELECT id FROM users WHERE CONCAT(firstName,' ',lastName)='$name'";
$rest = mysql_query($drid);
while ($row = mysql_fetch_row($rest)) {
$driver_id = $row[0];
} 不幸的是,$driver_id没有结果(而$name返回结果)。
谢谢你的帮助!
发布于 2015-03-26 17:38:53
你是在找这样的东西吗?
<?php
$drid = "SELECT id FROM users WHERE CONCAT(firstName, ' ', lastName) LIKE '%".$name."%'";
$rest = mysql_query($drid);
while ($row = mysql_fetch_row($rest)) {
$driver_id = $row[0];
}
?>发布于 2015-03-26 17:45:19
出于性能考虑,我建议添加一个新的全名字段或使用临时表,而不是使用concat。
不过,如果您正在寻找临时解决方案,https://stackoverflow.com/a/29285246/3923450应该可以工作。
https://stackoverflow.com/questions/29285092
复制相似问题