Php 搜索第一个&;URL参数表中的姓氏

Php 搜索第一个&;URL参数表中的姓氏,php,mysql,sql,string-concatenation,mysql-real-escape-string,Php,Mysql,Sql,String Concatenation,Mysql Real Escape String,我试图在我的url中传递一个参数,如下所示: 数据库表具有以下结构: +----+-------+-------+-------------+ | id | fname | lname | email | +----+-------+-------+-------------+ | 1 | Joe | Smith | joe@joe.com | +----+-------+-------+-------------+ 如何查询表并搜索与名字和姓氏匹配的用户?现在我只能使用fn

我试图在我的url中传递一个参数,如下所示:

数据库表具有以下结构:

+----+-------+-------+-------------+
| id | fname | lname |    email    |
+----+-------+-------+-------------+
|  1 | Joe   | Smith | joe@joe.com |
+----+-------+-------+-------------+
如何查询表并搜索与名字和姓氏匹配的用户?现在我只能使用fname或lname进行查询。变量$rep_name保存参数值,但我不确定如何在参数和查询中使用first&last name,因为它们位于不同的列上

SQL:


假设rep name始终是附加在一起的名字和姓氏,只需使用来附加它们,然后将它们与您的值进行比较

$sql = "SELECT id
    FROM contacts
    WHERE CONCAT(fname,lname)='" . mysql_real_escape_string($rep_name) . "'
";

我只希望您的所有销售代表都有唯一的名字和姓氏组合,如果这将用于以任何方式对销售代表进行身份验证。

尝试使用
CONCAT
mysql函数

 "SELECT id FROM contacts WHERE CONCAT(fname," ",lastname)='" . mysql_real_escape_string($rep_name) . "' "; 

CONCAT()

当我们有fname=“Khuanantonio”lname=“Sanpedro”和fname=“Khuan”lname=“Aantoniosanpedro”时,可能会有一个有趣的例子:)u wana@HamletHakobyan是什么意思?太棒了,这非常有效!有没有办法解释用户在参数中的名字和姓氏之间留一个空格?例如:“&rep\u name=Joe Smith”和“&rep\u name=JoeSmith”应该都可以使用。在将
$rep\u name
传递到查询之前,请使用
str\u replace()
去掉空格。这是你能做的最好的事情,但如果某人的名字或姓氏中有空格,则可能会导致问题。他们在通过查询字符串提供的repname中没有空格是的,我可以理解,我想向他解释什么是
CONCAT()
调用@约翰诺德
 "SELECT id FROM contacts WHERE CONCAT(fname," ",lastname)='" . mysql_real_escape_string($rep_name) . "' ";