查询中的上一个变量给了我一个值$ name。我需要找到与该名称关联的用户ID,但是在我的users表中,我有两个字段firstName和lastName。
我无法爆炸$ name,因为我有两个双重名称(例如John Eric Smith)和姓氏(例如Jan van der Worde),所以我的尝试是找到一种方法来匹配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会返回结果)。
感谢您的帮助!
答案 0 :(得分:1)
你在寻找这样的东西:
<?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];
}
?>
答案 1 :(得分:1)
出于性能原因,我建议添加一个新的全名字段或使用临时表而不是使用concat。
如果您正在寻找临时解决方案,