我在预编译语句中使用ORDER BY打印一些内容时遇到问题,因为它是一个列,我想我必须使用?
而不是写下我想要的内容,但是虽然我尝试改变它,但出现了问题,因为它没有正确排序。我认为我的语法可能有误,您会建议或建议我这样做?下面是代码:
$n = 0;
$item_number = 0;
//Array which iterates over all objects in a given users object_id
$ref[$n];
$rowsize = 12;
for ($i = 0; $i < $rowsize; $i++) {
$stmt = $mysqli->stmt_init();
$stmt->prepare('SELECT z, name FROM house_room1 INNER JOIN objects ON house_room1.object_id=objects.object_id WHERE house_room1.ref_id = ? ORDER BY z');
$stmt->bind_param('i', $i
);
if ($stmt->execute()) {
$stmt->bind_result($z, $name);
while($stmt->fetch()) {
echo '<li id="item-' . $item_number . '" class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>' . $name . '</li>';
}
}
else {
echo 'Something went terribly wrong' . $mysqli->error;
}
$stmt->close();
$n++;
$item_number++;
}
编辑:呃我不知道缩进的内容..顺便说一下,它应该按照“z”栏的顺序排列
EDIT2:我想看到数据库中的所有名称都按照z值排序,所以如果值为0,则应首先显示z值为0的名称。数据库中的z值从0到12.它连接到另一个表,该表具有该特定z值的特定对象的名称。
目前没有任何事情发生,无论我将ORDER BY更改为什么,这些东西都会被object_id而不是z排序,很奇怪。