0

このコードは、where で order by を追加すると機能しません。

$sel = "SELECT * FROM items ORDER BY 'item_no' WHERE mainitem_id=".$_GET['cate_id'] ;
4

4 に答える 4

2
$sel = "SELECT * FROM items 
        WHERE mainitem_id='".$_GET['cate_id']."' 
        ORDER BY item_no";

ただし、コードは SQL インジェクションに対して脆弱であることに注意してください。その問題も解決してください。こちらをご覧ください

于 2013-08-24T18:15:56.547 に答える
1

クエリの END で ORDER BY を使用します。

$sel = "SELECT * FROM items WHERE mainitem_id='".addslashes($_GET['cate_id'])."' ORDER BY item_no;
于 2013-08-24T18:16:03.207 に答える
0

使用する:

$sel = "SELECT * FROM items WHERE mainitem_id=".mysqli_real_escape_string($conn, $_GET['cate_id'])."ORDER BY 'item_no'" ;

mysqli_real_escape_string()SQLインジェクションからあなたを守ります。

変数を取得すると、SQL インジェクションが発生しやすくなります。http://php.net/manual/en/security.database.sql-injection.phpを確認してください。

于 2013-08-24T18:19:22.987 に答える
0
$cate_id = mysql_real_escape_string($_GET['cate_id']); //or any proper similar function (mysqli recommended)
$sel = "SELECT * FROM items WHERE mainitem_id='$cate_id' ORDER BY 'item_no'";
于 2013-08-24T18:20:55.570 に答える