これをなぞってください...while($row = mysql_fetch_assoc($result) and $runningOK)
ループで、PHP&&
演算子がの代わりに使用されているand
場合、実行時mysql_fetch_assoc
にひどく失敗し、数値だけを返します1
。
私は試してみましたmysql_fetch_array()
が、まだ1
問題があります。正しい行が返されるのは、現在のステートメント&&
のようなものに置き換えるときだけです。and
while
これを確実にするために、前、中、後にデバッグステートメントを配置しました。これがPHPの癖なのか、それとも私が説明できなかったのか知りたいです。
// Query
$selectQuery = "SELECT * FROM jobs_cache LIMIT 20";
// Run the Selection Query.
$result = mysql_query($selectQuery)
or die('Query Failed: '.mysql_error());
// Loop through results.
$runningOK = TRUE;
$resubmitList = array();
while($row = mysql_fetch_assoc($result) and $runningOK)
{
// Resubmit The Job
try
{
$client->addTaskBackground($row['function_name'],$row['job_data']);
$resubmitList[] = (string)$row['job_cache_id'];
}
catch(Exception $e)
{
echo "Error adding task for job id: " . $row['job_cache_id'];
$runningOK = FALSE;
}
}