Php MySQL语句中的变量无效
我有一个数组,列出了设定日期(2周付款期)的14个日期: 我想循环遍历它并从数据库返回一些数据:Php MySQL语句中的变量无效,php,mysql,arrays,multidimensional-array,Php,Mysql,Arrays,Multidimensional Array,我有一个数组,列出了设定日期(2周付款期)的14个日期: 我想循环遍历它并从数据库返回一些数据: foreach($punchCard as $date){ $sql = " SELECT date, time FROM `timeclock` WHERE `employee`=" . $_SESSION['id'] . " AND `date`=" .
foreach($punchCard as $date){
$sql = "
SELECT date, time
FROM `timeclock`
WHERE `employee`=" . $_SESSION['id'] . "
AND `date`=" . (int)$date['codeDate'] . "
ORDER BY `time` ASC ";
$result = mysql_query($sql);
$timecard = array();
while($row = mysql_fetch_assoc($result)){
$timecard[] = $row;
}
}
这不起作用,但:
$sql = "
SELECT date, time
FROM `timeclock`
WHERE `employee`=" . $_SESSION['id'] . "
AND `date`=20121204
ORDER BY `time` ASC ";
不知何故,(int)$date['codeDate']
不起作用,但我不能把我的头绕在它周围,这可能很简单
taylorjes您的SQL有错误
date
和time
afterSELECT
应该这样引用,因为它们是函数名:
$sql = "
SELECT `date`, `time`
FROM `timeclock`
WHERE `employee`=" . $_SESSION['id'] . "
AND `date`=20121204
ORDER BY `time` ASC ";
SQL语句是正确的。阵列不是:
while($row = mysql_fetch_assoc($result)){//show last punch
$timecard[]['time'] = $row['time'];
}
固定的什么类型的日期字段使用整数?为什么不试试echo$sql查看它的外观?
$punchCard[0]['codeDate']=date(“Ymd”,strotime(“+0天”,$start))
$sql看起来相同,但没有数组表中的日期
数据类型是什么?另外,添加或死亡(mysql_error())代码>在您的mysql\u查询之后
日期
是int(8)
,并且$result=mysql\u查询($sql)或die(mysql\u error())没有错误代码>这确实给了我任何不同的结果。。。我正试图解决这个问题:`ANDdate
='”(int)$date['codeDate']
while($row = mysql_fetch_assoc($result)){//show last punch
$timecard[]['time'] = $row['time'];
}