[英]Push results from MYSQL Query into an Array
我在使用以下功能时遇到麻烦。 基本上,应该执行的操作是检查数组( $idDiscontinuedArray
)中的每个项目是否是其各自表中的不连续值( 1
或0
)。
现在,我不确定将这些答案放入数组中以使下一部分更加简单。 目前,它的吐痰$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
是否表示脚本结束。 如果不是这种情况,它将运行function 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();
}
}
我没有测试此代码,但它遍历了准备好的语句以及如何将项目推入数组。 如果您需要更多帮助,我们可以聊天。
$discont = array();
function checkDiscontinued($dbh, $idDiscontinuedArray) {
try {
foreach ($idDiscontinuedArray as $id) {
$sql = $dbh->prepare("SELECT discontinued FROM $id ORDER BY `date` DESC LIMIT 1");
$stmt = $sql->execute(array($id));
$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!";
array_push($doscont, $id);
}
}
catch (PDOException $e) {
echo $e->getMessage();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.