SQL Join语句和引用我的sql语句中的项的问题

时间:2014-03-10 21:33:49

标签: php sql join left-join

首先,我认为我的SQL Join语句(语法或其他)中存在错误。我在声明中使用了2个表,一个叫做艺术家,另一个叫做打印。接下来,在我的PHP脚本中,我使用MYSQLI_ASSOC获取数组引用我的sql语句中的项目。我觉得那里也有问题。

这是sql语句:

    $sql = "SELECT CONCAT(a.first_name, a.middle_name, a.last_name) AS name p.print_name, p.price, p.size, p.description, p.what_genre, p.quantity_on_hand FROM artists AS a LEFT JOIN prints AS p USING (artist_id) ORDER BY $order_by $limit";

这是第二部分:

    while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
            $bg = ($bg=='#eeeeee' ? '#ffffff' : '#eeeeee');
            $list .= '<tr bgcolor="' . $bg . '">';
            $list .= '<td>' . $row['name'] . '</td><td>' . $row['print_name'] . '</td><td>' . $row['price'] . '</td><td>' . $row['size'] . '</td><td>' . $row['description'] . '</td><td>' . $row['what_genre'] . '</td><td>' . $row['quantity_on_hand'] . '</td></tr>';
        } 

以下是我收到的一些错误消息:

注意:     查询:SELECT CONCAT(a.first_name,a.middle_name,a.last_name)AS名称p.print_name,p.price,p.size,p.description,p.what_genre,p.quantity_on_hand FROM艺术家作为LEFT JOIN打印AS p USING(artist_id)ORDER BY price DESC LIMIT 0,5您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行“p.print_name,p.price,p.size,p.description,p.what_genre,p.quantity_on_hand F'附近使用正确的语法

in D:\xampp\htdocs\larry\chapter192\view_users2.php on line 68

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in D:\xampp\htdocs\larry\chapter192\view_users2.php on line 110

1 个答案:

答案 0 :(得分:0)

您错过了AS namep.print_name之间的逗号:

SELECT CONCAT(a.first_name, a.middle_name, a.last_name) AS name, p.print_name