-1

您好我正在尝试运行以下查询,但似乎没有返回任何内容我想要的只是从我的作业表中返回所选作业类型的作业描述。

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

谢谢

艾伦

<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']  ;  

}
?>
4

3 回答 3

2

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

于 2012-07-20T23:45:58.623 回答
1

从末尾删除AND语句:

AND jobs.JOB_DISCRIPTION = 'JOB_DISCRIPTION'

还要从查询语句周围删除括号( )

于 2012-07-20T23:43:59.347 回答
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
"
于 2013-05-10T16:30:54.000 回答