2016-09-07 118 views
-3

我想建立登录系统,PHP,如果在wp_users表用户名,电子邮件或电话号码登录系统在PHP

用户输入用户名或电子邮件或电话号码和密码,然后用户登录成功

领域的用户名电子邮件地址和密码

和电话号码是wp_metauser表 如果用户输入电话号码,然后匹配meta_key= phone_nometa_value=674637388273

 field  value   comments    table 
OR email  =674637388273       wp_users 
OR username =674637388273       wp_users 
OR meta_value =674637388273 if phone no then   wp_metauser 
And meta_value = 'phone_no'  //is string    wp_metauser 
AND Password =********         wp_users 

我有一个查询,但显示错误

$query = "select * from wp_users where (user_login='$email' OR user_email = '$email' OR 'select * from wp_usermeta where meta_key='phone_no' and meta_value='$email'') and user_pass='$password'"; 
+3

你应该告诉我们错误是什么。一眼就看出''email'''是错误的。你也应该阅读表连接。 –

回答

-1

请看到的例子内的w3school.com

SELECT column_name(s) 
FROM table1 
JOIN table2 
ON table1.column_name=table2.column_name; 
1

连接查询你写你是错误的。

因为你不能在where子句中选择。

尝试使用此代替。

select a.* 
from wp_users a 
join wp_usermeta b 
where (a.user_login='$email' OR a.user_email = '$email' OR (b.meta_key='phone_no' and b.meta_value='$email')) and a.user_pass='$password'; 
+0

非常感谢很好的答案 –

相关问题