2012-07-20 144 views
0

嗨我试图运行以下查询,但似乎没有返回 我想要的是我的作业表中选择job_type返回job_discription。SQL查询不返回任何东西

任何帮助都会很大,因为我花了几个小时试图解决它。

谢谢

艾伦

<input type="hidden" name="JOB_TYPE" value="<?php print $_POST['JOB_TYPE'];?>"/> 

<?php 
$Query = " (SELECT JOB_TYPE, JOB_DISCRIPTION FROM jobs " . 
"WHERE jobs.JOB_TYPE ='$_POST[JOB_TYPE]' " . 
"AND jobs.JOB_DISCRIPTION = 'JOB_DISCRIPTION')"; 

$Result = mysqli_query($DB, $Query); 
?> 

<?php 
$Result = mysqli_query($DB,$Query)or die(mysqli_error($DB)); 

while ($Row = mysqli_fetch_assoc($Result)) // Now we go through the data displaying 
{ 

print $Row ['JOB_DISCRIPTION'] ; 

} 
?> 
+0

重复的问题。继续[SQL查询似乎不工作](http://stackoverflow.com/questions/11582594/sql-query-doesnt-seem-to-work) – codewaggle 2012-07-22 01:12:40

回答

1

从末尾删除AND声明:

AND jobs.JOB_DISCRIPTION = 'JOB_DISCRIPTION' 

而且来自各地的查询语句删除括号()

2

首先,代码非常容易出现sql注入:您不应该直接使用$ _POST数据。如果您需要特定类型的描述,请删除最后一个条件。

+1

+1关于清理'$ _POST'数据的好处。以下是关于如何处理任何感兴趣的人的讨论:[htmlentities vs htmlspecialchars](http://stackoverflow.com/questions/46483/htmlentities-vs-htmlspecialchars) – codewaggle 2012-07-21 00:09:32

0
" -- quotation marks are only required at the start and end 
SELECT JOB_TYPE 
    , JOB_DISCRIPTION -- some people spell description with an 'e' 
    FROM jobs 
WHERE jobs.JOB_TYPE =$_POST['JOB_TYPE'] -- escape data (using modern methods) to prevent injection and note 
    AND jobs.JOB_DISCRIPTION = 'JOB_DISCRIPTION'; -- This is really strange 
"