忽略查询中的Where子句变量

时间:2011-12-16 18:12:14

标签: php mysql variables where

新手在这里。当我在WHERE子句中放置一个日期('YYYY-MM-DD')时,它很有效。当我用从前一页传递的变量替换它时,忽略WHERE子句。是因为还没有创建变量吗?

<?php $name = $_POST["start"]; ?>

$query = "SELECT employees.first, employees.last, employees.street, employees.city,  
employees.a, employees.b,  
GROUP_CONCAT(empchecks.checknum ORDER BY empchecks.checkdate SEPARATOR '<br /> ') as  
checknum, 
GROUP_CONCAT(empchecks.checkdate ORDER BY empchecks.checkdate      
SEPARATOR '<br /> ')  
as checkdate 
FROM employees 
INNER JOIN empchecks ON employees.enum = empchecks.enum 
WHERE empchecks.checkdate >= '$start' GROUP BY empchecks.enum";  

4 个答案:

答案 0 :(得分:3)

变量$ start不存在。尝试用$ name替换它,看看它是否有效。您还应该使用sprintf http://php.net/manual/en/function.sprintf.php来传递查询的变量。

答案 1 :(得分:1)

您似乎要将$_POST['start']分配给$name,而不是$start,而您之后会引用该代码。

答案 2 :(得分:0)

您的POST是“开始”,但您将其指定为“名称”

所以在你的SQL中使用$ name ...

答案 3 :(得分:0)

写这个     提取物($ _ POST) 能够使用$ start而不是$ name