创建一个根据多个变量获取记录的选择查询

时间:2010-08-25 12:38:36

标签: php sql

我需要创建一个select查询,根据多个变量获取记录 像:

<?PHP

@$task=$_REQUEST['task'];
@$Country=$_REQUEST['Country'];
@$City =$_REQUEST['City'];
@$MosqName =$_REQUEST['txtMsqName'];
@$PostCode =$_REQUEST['txtPostalCode'];

$sql_serch="SELECT  Country="."'".$Country."'", " City="."'".$City."'"." FROM job_mosqu";
?>

它不起作用。

4 个答案:

答案 0 :(得分:2)

不要忘记逃避你的输入! 从不将用户输入的变量(例如来自$_REQUEST的变量)直接放入SQL查询中。使用参数化查询或使用mysql_real_escape_stringmysqli::real_escape_stringPDO::quote转义输入,具体取决于您查询的内容...

关于这个问题的一些阅读:

  1. PHP MySQL by example
  2. StackOverflow question on it
  3. Coding Horror
  4. 要回答您的实际问题,请使用WHERE clause

    SELECT * FROM job_mosqu WHERE Country = ? AND City = ? ...
    

    有很多关于使用where子句的内容,如果你对它不满意的话,可以进行一些搜索......

    1. Tutorial on WHERE in mysql
    2. Another Tutorial
    3. And yet another

答案 1 :(得分:1)

您正在寻找AND

SELECT * FROM job_mosqu WHERE Country='$country' AND City= '$City'

等等...

答案 2 :(得分:0)

SELECT * FROM job_mosqu WHERE Country='$country' AND City= '$City' AND task = '$task' AND $MosqName = '$MosqName';

答案 3 :(得分:0)

查询不正确。查询非常糟糕。可能你想要下一个?

$task=$_REQUEST['task']; 
$Country =$_REQUEST['Country']; 
$City =$_REQUEST['City']; 
$MosqName =$_REQUEST['txtMsqName']; 
$PostCode =$_REQUEST['txtPostalCode'];

$sql_serch="SELECT `Country`, `City` FROM `job_mosqu` WHERE `City`='" . $City. "' AND `Country`='" . $Country . "'";