$q= mysql_query("SELECT
`products`.product,
`products`.price,
`cart`.product,
`cart`.userid
FROM `products`
INNER JOIN `cart` ON `cart`.product=`products`.product") or die('Error: ' . mysql_error());
while($d=mysql_fetch_array($q))
{
echo "<td >";echo "<br><b> Product: </b>$d[2]";echo "</td>";
echo "<td >";echo "<b> Price: </b>$d[1]<br>";echo "</td>";
}
显示表格 - 产品和购物车的内部连接结果。 产品表有产品,价格和购物车表有userid,产品。 如何通过列出内部联接表中userid = $ us的行显示用户登录的$ us订购的产品
答案 0 :(得分:0)
使用此mysql查询
SELECT `products`.product, `products`.price, `cart`.product, `cart`.userid FROM `products` INNER JOIN `cart` ON `cart`.product=`products`.product where cart.userid= $us order by `products`.product ASC
答案 1 :(得分:0)
$sql='select
p.`product`, p.`price`, c.`product`, c.`userid`
from `products` p
left outer join `cart` c on c.`product`=p.`product`
where c.`userid`="'.$us.'"';
$q=mysql_query( $sql ) or die('error: '.mysql_error() );
为每个表分配别名会使最终的sql缩短,在我看来,更容易阅读。
也就是说,因为PHP中的mysql_
函数套件现在已被弃用并被认为是不安全的,您可能应该将代码迁移到mysqli
或PDO
以避免可能的SQL注入同样的说明,通过使用die('error:'.mysql_error())
,如果有错误,你会向潜在的攻击者透露超过你应该的错误,更不用说页面的其余部分没有正常加载/降级。