繁体   English   中英

MySQL查询选择错误的字段

[英]mysql query selecting wrong field

$something_else = mysql_query('SELECT image_id FROM items p LEFT JOIN list up ON p.item_id = up.item_id WHERE up.UserID =  "' . $user_id . '"');

     while ($r=mysql_fetch_assoc($something_else)){
         foreach($r as $item_id2)

$query ='DELETE FROM list WHERE UserID="' .$user_id. '" AND item_id="' .$item_id2. '"';}

这是针对产品的“愿望清单”。 每个都是相对于用户的。 我可以添加到愿望清单,但不能删除适当的项目。 此代码正在执行的操作是删除列表中的最后一项,或者删除具有最高“ image_id”的项目。

无论哪种方式,我都不会获得与关联项目有关的相对“图像ID”。

我很确定这应该是解决问题的足够信息。 我敢肯定,我的问题出在MySQL查询中:

mysql_query('SELECT image_id FROM items p LEFT JOIN list up ON p.item_id = up.item_id WHERE up.UserID = "' . $user_id . '"');

首先,如前所述,在您的查询不安全之前,请使用PDO。 无论如何尝试这个:

$something_else = mysql_query('SELECT image_id FROM items p LEFT JOIN list up ON p.item_id = up.item_id WHERE up.UserID =  "' . $user_id . '"');

while ($r=mysql_fetch_assoc($something_else)) {    
    $query ='DELETE FROM list WHERE UserID="' .$user_id. '" AND item_id="' .$r['image_id'] . '"';
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM