各$ number_of_auditsがその行に固有のものであることを確認するにはどうすればよいですか?これは、最後の行の値が何度も何度も繰り返されることを示しています。私はこれを行うために$ temp_rowを設定すると思ったが、何かが間違っている。私はこれがPDOではないことを知っていますが、それは後になります。PHP変数を一意のMySQL行にするにはどうすればいいですか?
while ($row = mysqli_fetch_array($result)) {
if($row[site_id] > 0){
$qry = "SELECT count(audit_instanceID) AS AID
FROM audit_instance
WHERE auditID = {$row['auditID']}
AND trash IS NULL and site_id='$_SESSION[siteID]' and corporate_auditID = '0'";
}
else {
$qry = "SELECT count(audit_instanceID) AS AID
FROM audit_instance
WHERE auditID = {$row['auditID']}
AND trash IS NULL and corporate_auditID = '0'";
}
$temp_result = qry($qry);
$temp_row = mysqli_fetch_array($temp_result);
$number_of_audits = $temp_row['AID'];
if ($number_of_audits > 0) {
$view_audit_button="<a class='btn btn-default btn-xs' role='button' href='answer_audit.php?auditID=$row[auditID]&action=view_audits' value='View Audits: $number_of_audits' \">View Audits: $number_of_audits</a>";
} else {
$view_audit_button="";
}
私も試してみました:
foreach ($temp_row as $number_of_audits)
{
$number_of_audits = $temp_row['AID'];
}
if ($number_of_audits > 0) {
$view_audit_button="<a class='btn btn-default btn-xs' role='button' href='answer_audit.php?auditID=$row[auditID]&action=view_audits' value='View Audits: $number_of_audits' \">View Audits: $number_of_audits</a>";
} else {
$view_audit_button="";
}
は、単一の「結合」クエリとして再書き込みします。 'SELECT id、count(id)FROM ... JOIN ... GROUP BY ...'を実行すると、IDとカウントが同時に取得されます。 –
'$ temp_row = mysql_fetch_array($ temp_result);'突然 'mysql_ *'関数が表示されます! –
'mysql_'は' mysqli'で動作しません。 Mysqliはパラメータ化されたクエリをサポートしています.PDOは必要ありません。ここでパラメータ化されたクエリを使用します。そのままSQLインジェクションにオープン。ループを作成していないため、 – chris85