ORDER BY 和 WHERE 子句有不同的优先级吗?

Does ORDER BY and WHERE clause have different precedence?

我目前正在使用语句

获取数据
$queryfetchBookings="SELECT `id`,`sessionHeld`,`fk_student_id`,`channelName`,`video_duration`,`audio_duration`,`category`,`dateBooked`,`timeSlot`,`duration`,`category`,`studentName`,`overallRating`,`chat_duration`  FROM `one_to_one_bookings` WHERE fk_co_id=".$co_id;

我现在想添加一个

 ORDER BY `id` ASC 

到最后,但我尝试过的任何变体都会导致失败。(不获取数据)。需要有关如何进行的建议。

我尝试过的不同变体:

我不确定您使用的服务器是如何工作的,但在 oracle 中它不会工作,因为您在 WHERE 子句之后添加了一个“;”。至少在 oracle 中这意味着查询结束,所以我猜这就是为什么它不考虑你的最后一句话。 希望能帮上忙:)

首先,您应该使用准备好的语句来避免 SQL 注入,并且不要将字符串连接到您的查询中。

您在 PHP 中的拼接错误,您需要添加一个 . 和一些引号:

$queryfetchBookings="SELECT `id`,`sessionHeld`,`fk_student_id`,`channelName`,`video_duration`,`audio_duration`,`category`,`dateBooked`,`timeSlot`,`duration`,`category`,`studentName`,`overallRating`,`chat_duration`  
FROM `one_to_one_bookings` WHERE fk_co_id=".$co_id." ORDER BY `id` ASC";

问题出现在查询的末尾:

WHERE fk_co_id=".$co_id." ORDER BY `id` ASC";