Php 忽略查询中的Where子句变量
我是新手。当我在WHERE子句中添加日期('YYYY-MM-DD')时,效果非常好。当我用上一页传递的变量替换它时,WHERE子句被忽略。是因为变量尚未创建吗Php 忽略查询中的Where子句变量,php,mysql,variables,where,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(em
<?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";
$query=“选择employees.first、employees.last、employees.street、employees.city、,
员工a,员工b,
组_CONCAT(empchecks.checknum ORDER BY empchecks.checkdate分隔符“
”)为
checknum,
组_CONCAT(empchecks.checkdate按empchecks.checkdate排序
分隔符“
”)
作为支票日期
来自员工
employees.enum=empchecks.enum上的内部联接empchecks
其中empchecks.checkdate>=“$start”按empchecks.enum分组”;
您的帖子是“开始”,但您将其分配给了“名称”
因此,在SQL中使用$name…您的帖子是“开始”,但您将其分配给了“name”
因此,在SQL中使用$name…看起来您正在将
$\u POST['start']
分配给$name
,而不是分配给以后参考的$start
。看起来您正在分配$\u POST['start']
到$name
而不是到您稍后引用的$start
。变量$start不存在。试着用$name替换它,看看它是否有效。您还应该使用sprintf为查询传入变量。变量$start不存在。试着用$name替换它,看看它是否有效。您还应该使用sprintf为查询传入变量。写下这个
摘录($\U POST)
要能够使用$start而不是$name,请编写以下命令
摘录($\U POST)
为了能够使用$start而不是$name,请警告您的代码容易受到sql注入攻击!您能验证$start的值吗?也就是说,如果您回显$query,它会说什么?还有丹尼尔说的话。:)而且它不可能被忽视;相反,checkdate比较结果可能为true($start为空字符串或任何被强制为纪元开始的内容,等等)。给定您的代码,
$start
尚未定义。更重要的是,根据您如何清理输入变量,变量插值技术可能会让您受到SQL注入攻击。它是空的。但是,如果我在查询之外回显$start,它会告诉我在上一页中输入的日期。警告:您的代码容易受到sql注入攻击!您能验证$start的值吗?也就是说,如果您回显$query,它会说什么?还有丹尼尔说的话。:)而且它不可能被忽视;相反,checkdate比较结果可能为true($start为空字符串或任何被强制为纪元开始的内容,等等)。给定您的代码,$start
尚未定义。更重要的是,根据您如何清理输入变量,变量插值技术可能会让您受到SQL注入攻击。它是空的。但是如果我在查询之外回显$start,它会告诉我在上一页输入的日期。13分钟前?你们都有10分钟,11分钟还是12分钟?我是第一个;)13分钟前?你们都有10分钟,11分钟还是12分钟?我是第一个;)sql中$name的结果相同。当我回显$query时,$start/$name为空。sql中的$name的结果相同。当我回显$query时,$start/$name为空。