2014-03-28 42 views
0

我想添加$query_bookname$query_author之后$_GET['category'] 我该怎么做? (双和单引号混淆了我很多)如何在mysql_query中添加变量

$query_bookname = "AND book_name LIKE '%".$_GET['book_name']."%' "; 
$query_author = "AND author LIKE '%".$_GET['author']."%' "; 

$result = mysql_query(" 
    SELECT * FROM book 
    WHERE cate_name = '".$_GET['category']."' AND status = 1 
"); 
+0

除了SQL注入攻击,我认为你正在做正确的方式.. –

回答

0

试试这个

$result = mysql_query(" 
    SELECT * FROM book 
    WHERE cate_name = '".$_GET['category']." ".$query_author." ".$query_author." AND status = 1 
"); 
1

你想这样做,但你需要解决的弱点在你的代码(每尚卡尔达莫达伦):

$result = mysql_query(" 
SELECT * FROM book 
WHERE cate_name = '".$_GET['category']."' AND status = 1 
$query_bookname 
$query_author 
"); 
0

试试这个

$result = mysql_query(" 
    SELECT * FROM book 
    WHERE cate_name = '".$_GET['category']."' AND status = 1 
    $query_bookname 
    $query_author 
"); 
0

你可以试试这个方法

$result = mysql_query("SELECT * FROM book 
    WHERE cate_name = '".$_GET['category']."' AND ".$query_bookname.$query_bookname." status = 1"); 
-1
$query_bookname = ''; $query_author = ''; 
if(isset($_GET['book_name']) && $_GET['book_name']!=''){ 
    $query_bookname = " AND book_name LIKE '%".$_GET['book_name']."%' "; 
} 
if(isset($_GET['author']) && $_GET['author']!=''){ 
$query_author = " AND author LIKE '%".$_GET['author']."%' "; 
} 
$result = mysql_query("SELECT * FROM book WHERE cate_name = '".$_GET['category']."' $query_bookname $query_author AND status = 1"); 
0

PHP代码:

$q=""; 
$q .= " AND book_name LIKE '%".$_GET['book_name']."%' "; 
$q .= " AND author LIKE '%".$_GET['author']."%' "; 
$result = mysql_query("SELECT * FROM book WHERE cate_name = '".$_GET['category']."' AND status = 1 $q"); 
+0

考虑添加以下代码的一些解释请。 –