一个简单的数据表:
我想用预处理方式将数据表以数量num倒序排列:
<?php
header('content-type:text/html;charset:utf-8');
$mysqli = new mysqli('localhost', 'root', '', 'info');
$stmt = $mysqli->prepare("SELECT * FROM test ORDER BY ?");
$dst = 'num desc';
$stmt->bind_param('s', $dst);
$stmt->execute();
$result = $stmt->get_result();
$str = '<table width="50%" border="1" cellspacing="0" cellpadding="0">';
$str .= '<tr><th>id</th><th>名称</th><th>数量</th><th>价格</th></tr>';
while ($row = $result->fetch_assoc()) {
$str .= '<tr align="center"><td>'.$row['id'].'</td><td>'.$row['name'].'</td><td>'.$row['num'].'</td><td>'.$row['price'].'</td></tr>';
}
$str .='</table>';
echo $str;
$stmt->close();
$mysqli->close();
?>
但是不起作用:
数据库上没问题:
另外无法以"SELECT * FROM test ORDER BY ? ?"的形式进行预处理,会报错。
求大佬帮忙看下怎么解决这个问题?
慕桂英546537