我在下面的函数中遇到问题。基本上它应该做的是检查如果数组中的每个项目($idDiscontinuedArray
)都是从其相应表(1
或0
)中断的值。将MYSQL Query的结果推送到数组中
现在我不确定将这些答案推到数组中,以使下一部分更简单。目前它单独吐出$rows
。
结果是:Array ([discontinued] => 1,) Array ([discontinued] => 1) Array ([discontinued] => 0) Array ([discontinued] => 0) Array ([discontinued] => 1)....
,我宁愿有Array [1] => 1 [2] => 1 [3] => 0 [4] => 0 [5] => 1....
脚本的下一部分是检查,看看是否所有$rows = 1
这意味着脚本结束。如果不是这种情况,将运行功能changeDiscontinued($dbh, $id, $idDiscontinuedArray)
。
function checkDiscontinued($dbh, $idDiscontinuedArray) {
try {
foreach ($idDiscontinuedArray as $id) {
$stmt = $dbh->query("SELECT discontinued FROM `$id` ORDER BY `date` DESC LIMIT 1");
$rows = $stmt->fetch(PDO::FETCH_ASSOC);
print_r($rows);
}
if $rows['discontinued'] == TRUE) {
//echo $id . "Action if true";
} else {
changeDiscontinued($dbh, $id, $idDiscontinuedArray);
echo $id . "Items already discontinued!";
}
}
catch (PDOException $e) {
echo $e->getMessage();
}
}
您的$语句中的$ id变量将永远是您的$ idDiscontinuedArray中的最后一个值,是您的意图吗? changeDiscontinued()应该做什么? – KorreyD
您正在使用$ id作为表名,是您打算做什么的? –
有人可以说大量的SQL注入漏洞吗?你已经在使用PDO,准备好这个陈述... –