gpt4 book ai didi

php - MySQL 查询末尾的 "ORDER BY order"导致问题

转载 作者:行者123 更新时间:2023-12-01 00:47:54 27 4
gpt4 key购买 nike

我有一个 php 脚本,它从数据库中提取内容并以某种方式打印它们。数据库有一个名为“order”的列标题,它的 INT 大小为 11。当我从数据库中获取数据时,我试图按数据库中的值“order”对内容进行排序,如下所示:

<?php

$db_hostname = '<hostname>';
$db_database = '<db>';
$db_username = '<username>';
$db_password = '<password>';
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
mysql_select_db($db_database, $db_server);

$query = "SELECT * FROM <table> ORDER BY order"; // why is "ORDER BY order" problematic...
$table = mysql_query($query);

$data_items = '';
$carousel_items = '';
while($row = mysql_fetch_array($table)) {
// ...etc

我从数据库中获取信息的行很少,查询 "SELECT * FROM <table>"完全按照它应该的方式工作。我做错了什么?

如果有帮助,我要返回的错误(在该脚本所针对的网站上): Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /$PATH/php/myfile.php on line 15

第 15 行是 while($row = mysql_fetch_array($table)) {

我知道,如果我不懒惰,我可以在没有 MySQL 查询的情况下解决这个问题,并且因为 php 非常灵活,可以做类似 $array[$row['order']] = $row['what I want']; 的事情。 ,但我想要一个不必添加那些(应该是)不必要的行的解决方案。我也试过在查询的末尾添加分号(只是为了确定),但它根本没有改变任何东西。感谢您的帮助!

最佳答案

order为保留字,用反引号括起来

$query = "SELECT * FROM <table> ORDER BY `order`";

关于php - MySQL 查询末尾的 "ORDER BY order"导致问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19392842/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com