Php 搜索第一个&;URL参数表中的姓氏
我试图在我的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
+----+-------+-------+-------------+
| 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) . "' ";