Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL从tbl1中选择*其中smth和另一个表中的字段是_Php_Mysql - Fatal编程技术网

Php MySQL从tbl1中选择*其中smth和另一个表中的字段是

Php MySQL从tbl1中选择*其中smth和另一个表中的字段是,php,mysql,Php,Mysql,我有两张桌子。其中一个包含关于酒店的信息,由用户添加到我的网站。它包含一个名为Username的字段,其中包含上载它的人的用户名。第二个表包含用户信息,其中包括一个名为active的字段,该字段指示用户是否已付款。我只需要从第一个表中为已付款的用户获取条目。目前我在PHP中是这样做的: $hotelsq = mysql_query("SELECT * FROM trips_all ORDER BY id DESC "); while ($hotel = mysql_fetch_array($ho

我有两张桌子。其中一个包含关于酒店的信息,由用户添加到我的网站。它包含一个名为Username的字段,其中包含上载它的人的用户名。第二个表包含用户信息,其中包括一个名为active的字段,该字段指示用户是否已付款。我只需要从第一个表中为已付款的用户获取条目。目前我在PHP中是这样做的:

$hotelsq = mysql_query("SELECT * FROM trips_all ORDER BY id DESC ");
while ($hotel = mysql_fetch_array($hotelsq)) {
    $username = $hotel['username'];
    $isactiq = mysql_query("SELECT * FROM users WHERE username='$username'");
    $isact = mysql_fetch_array($isactiq);
    if ($isact['active'] == 'member') {
我需要的是一个单一的查询,它将选择第一个表中的所有酒店,然后检查它上传的用户用户名列是否在活动列中有成员。第二个表中的username列也被命名为username。 该查询是什么样的?

检查内部联接:

因此,大致如下:

mysql_query("SELECT * FROM trips_all INNER JOIN users ON trips_all.username=users.username WHERE users.active='member');

我想让我的用户名=';删除表用户;-现在很糟糕。这叫做SQL注入DreamWave。你应该研究它的实际阻尼8n,因为这是一个很长的循环,你可以放弃它的全部database@DampeS8N:是的,这里有一个SQL注入漏洞,但mysql\u查询将只运行一个查询,因此您将无法执行该操作。是的。重要的是思想。我可以创建一个看起来像管理员的用户。这就像找到一个管理员的用户名一样简单,让我的用户名“或username=”成为管理员谢谢,这非常有效。ORDER BY id DESC应该在该行的什么位置?该查询从users列返回id,而不是trips_all id。。我该如何解决这个问题?-1:不知道为什么会有两个投票-除了在不存在的列上进行连接外,查询还返回所有trip。
select t.*
from trips_all t
inner join users on t.username = u.username
    where u.active = 'member'
select * from trips_all t
left join users u on t.id= u.userid
where u.active = 'member'