Php mysql Pdo不会按名称排序
我无法对通过pdo对象连接的数据库的行进行排序。 它就是不能排序。 我想按productnamesvarchar排序。 希望有人能帮助我 代码如下:Php mysql Pdo不会按名称排序,php,mysql,pdo,Php,Mysql,Pdo,我无法对通过pdo对象连接的数据库的行进行排序。 它就是不能排序。 我想按productnamesvarchar排序。 希望有人能帮助我 代码如下: [...] $db = new PDO($serverPDO, $user, $pass); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); [...
[...]
$db = new PDO($serverPDO, $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
[...]
if ($_SESSION['sorted'] == 1) {
$ordered = $db->query("SELECT * FROM `produkte` ORDER BY 'produkte.preis'");
while ($order = $ordered->fetch(PDO::FETCH_ASSOC)) {
echo "<tr>";
echo "<td style='border-bottom:1px solid #000000;padding:20px'>".$order['produkte.name']."</td>";
echo "<td style='border-bottom:1px solid #000000;padding:20px'>".$order['produkte.beschreibung']."</td>";
echo "<td style='border-bottom:1px solid #000000;padding:20px'>".$order['produkte.preis']." Euro</td>";
}
} else {
[...]
删除order by子句中produkte.preis周围的单引号,或用反勾号转义表名和列名: 不必逃跑,因为这是不必要的:
$ordered = $db->query("SELECT * FROM `produkte` ORDER BY produkte.preis");
使用反勾号转义:
$ordered = $db->query("SELECT * FROM `produkte` ORDER BY `produkte`.`preis`");
如果表名和列名是其中一个,则需要对其进行转义。在order by子句中删除produkte.preis周围的单引号,或使用反勾号转义表名和列名: 不必逃跑,因为这是不必要的:
$ordered = $db->query("SELECT * FROM `produkte` ORDER BY produkte.preis");
使用反勾号转义:
$ordered = $db->query("SELECT * FROM `produkte` ORDER BY `produkte`.`preis`");
如果表名和列名是其中之一,则需要对它们进行转义
“produkte.preis”
在单引号中,将被解释为字符串值,可能相当于order by 1,导致没有任何有意义的排序
使用反勾号:
`produkte.preis`
“produkte.preis”
在单引号中,将被解释为字符串值,可能相当于order by 1,导致没有任何有意义的排序
使用反勾号:
`produkte.preis`