首先,我认为我的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
答案 0 :(得分:0)
您错过了AS name
和p.print_name
之间的逗号:
SELECT CONCAT(a.first_name, a.middle_name, a.last_name) AS name, p.print_name