我在这里有这个问题
$rs = mysql_query("select Username.users,phone.users,user_id.coupon,points.coupon,time.coupon from users LEFT JOIN coupon on Username.users = coupon.user_id where coupon.user_id like '%$search%' or coupon.time like '%$search%' order by $sort $order limit $offset,$rows");
Where
$sort = isset($_POST['sort']) ? strval($_POST['sort']) : 'time';
我在这里做错了吗? 我没有得到任何结果, 请帮帮我。
谢谢..
答案 0 :(得分:1)
您选择columnname.tablename
而不是tablename.columnname
。因此,不是Username.users
使用users.Username
和所有相应的。
select users.Username --<-- here
,users.phone ,coupon.user_id. ,coupon.points ,coupon.time
from users LEFT JOIN coupon
on users.Username = coupon.user_id --<-- also here
where ...
此外,您可以使用别名来减少查询编写查询的长度和时间,更简单,如下所示:
select u.Username --<-- here
,u.phone ,c.user_id. ,c.points ,c.time
from users u LEFT JOIN coupon c
on u.Username = c.user_id --<-- also here
where ...
答案 1 :(得分:0)
尝试按以下方式编写查询,这可能有所帮助:
$rs = mysql_query("select users.Username,users.phone,coupon.user_id,coupon.points,coupon.time from users LEFT JOIN coupon on users.Username = coupon.user_id
where coupon.user_id like '%$search%' or coupon.time like '%$search%' order by $sort $order limit $offset,$rows");
只需验证users.Username
实际上是加入优惠券表的正确ID。不应该是users.user_id
吗?在这种情况下它将是
$rs = mysql_query("select users.Username,users.phone,coupon.user_id,coupon.points,coupon.time from users LEFT JOIN coupon on users.user_id = coupon.user_id
where coupon.user_id like '%$search%' or coupon.time like '%$search%' order by $sort $order limit $offset,$rows");
答案 2 :(得分:0)
更合适的方法,
因为时间是Sql中的一种类型
select users.`Username`, users.`phone`, coupon.`user_id`, coupon.`points`,coupon.`time` from users
LEFT JOIN coupon
on users.`Username` = coupon.`user_id`
where coupon.`user_id` like '%$search%' or coupon.`time` like '%$search%'