PHP MySQL Order By with Where子句
我需要按ASC订单中的PHP MySQL Order By with Where子句,php,mysql,Php,Mysql,我需要按ASC订单中的number字段下单,但它不起作用 $sThree = "SELECT `id`, `name`, `number`, `logo` FROM `itv` WHERE `id` = {$rTwoArray['service_id']} ORDER BY `number` ASC"; $qThree = mysql_query($sThree, $conn1); $rThree[] = mysql_fetch_assoc($qThree); 无法理解,请帮助我调试。使用M
number
字段下单,但它不起作用
$sThree = "SELECT `id`, `name`, `number`, `logo` FROM `itv` WHERE `id` = {$rTwoArray['service_id']} ORDER BY `number` ASC";
$qThree = mysql_query($sThree, $conn1);
$rThree[] = mysql_fetch_assoc($qThree);
无法理解,请帮助我调试。使用MySQLCAST(表达式作为类型)
试试这个MySQL查询
$sThree = "SELECT `id`, `name`, `number`, `logo` FROM `itv`
WHERE `id` = {$rTwoArray['service_id']} order by CAST(number AS SIGNED) ASC";
由于查询处于循环中,我对最终数组进行了排序
$sThree = "SELECT `id`, `name`, `number`, `logo` FROM `itv` WHERE `id` = {$rTwoArray['service_id']}";
$qThree = mysql_query($sThree, $conn1);
$rThree[] = mysql_fetch_assoc($qThree);
usort($rThree, function ($item1, $item2) {
return $item1['number'] >= $item2['number'];
});
debug($rThree);
上面显示的查询不同,结果图像也不同。您使用了
其中id={something}
它应该在结果中给出所有相同的id
。请附上正确的结果
您在这里获得的查询结果可能来自另一个查询,这就是您无法获得有序结果的原因
每当代码行为异常时,首先查看代码是否在循环中工作,或者什么,并且从不假设。mysql中
number
字段的数据类型是什么?@Viralnumber
字段是int(11)您是否尝试手动运行查询?您正在检查查询中的id=some\u值。因此,您发布的数组应该具有相同的id。但它具有不同的id。我认为您通过php循环创建了一个数组,其中包含select查询。上面显示的查询不同,结果图像也不同。您使用了其中id={something}
它应该在结果中给出所有相同的id
。请附上正确的结果。
$sThree = "SELECT `id`, `name`, `number`, `logo` FROM `itv` WHERE `id` = {$rTwoArray['service_id']}";
$qThree = mysql_query($sThree, $conn1);
$rThree[] = mysql_fetch_assoc($qThree);
usort($rThree, function ($item1, $item2) {
return $item1['number'] >= $item2['number'];
});
debug($rThree);