SQL查询不返回任何东西
问题描述:
嗨我试图运行以下查询,但似乎没有返回 我想要的是我的作业表中选择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'] ;
}
?>
答
从末尾删除AND
声明:
AND jobs.JOB_DISCRIPTION = 'JOB_DISCRIPTION'
而且来自各地的查询语句删除括号()
。
答
首先,代码非常容易出现sql注入:您不应该直接使用$ _POST数据。如果您需要特定类型的描述,请删除最后一个条件。
+1
+1关于清理'$ _POST'数据的好处。以下是关于如何处理任何感兴趣的人的讨论:[htmlentities vs htmlspecialchars](http://stackoverflow.com/questions/46483/htmlentities-vs-htmlspecialchars) – codewaggle 2012-07-21 00:09:32
答
" -- 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
"
重复的问题。继续[SQL查询似乎不工作](http://stackoverflow.com/questions/11582594/sql-query-doesnt-seem-to-work) – codewaggle 2012-07-22 01:12:40