@$user_id =$_GET['user_id'];
$lists = $db->query(
'SELECT
id,
ad
FROM
users_projects_name
WHERE
user_id = '.$user_id.'
ORDER BY
id
');
$lists->setFetchMode(PDO::FETCH_ASSOC);
$num=0;
while($f_lists = $lists->fetch())
{
$num++;
echo'
<tr class="tr1">
<td class="td1">'.$num.'</td>
<td>'.$f_lists['ad'].'</td>
<td><a href="delete_project.php?id='.$f_lists['id'].'&user_id='.$user_id.'">Delete</a></td>
</tr>';
}
$count = (int) $lists->fetchColumn();
echo $count;
回答
首先,你完全不需要COUNT
因爲你已經擁有了它。
其次,您正在以錯誤的方式使用PDO。這裏有一個更好的方法:
$sql = 'SELECT id, ad FROM users_projects_name WHERE user_id = ? ORDER BY id';
$stm = $db->prepare($sql);
$stm->execute([$_GET['user_id']]);
$lists = $stm->fetchAll();
?>
<table>
<?php if ($lists): ?>
<?php foreach($lists as $num => $row): ?>
<tr class="tr1">
<td class="td1"><?= ++$num?></td>
<td><?=$row['ad']?></td>
<td><a href="delete_project.php?id=<?=$row['id']?>">Delete</a></td>
</tr>
<?php endforeach ?>
</table>
<?php else: ?>
Nothing found
<?php endif ?>
而他的結果在他執行'fetchColumn'的時刻實際上結束了,因此沒有任何返回 – baldrs
Yeap,man。對不起,我總是混淆列和數 – RiKo
你不應該使用'rowCount()'來計算行數。對於大多數數據庫,PDOStatement :: rowCount()不會返回受SELECT語句影響的行數。相反,使用PDO :: query()發出一個SELECT COUNT(*)語句,其謂詞與您想要的SELECT語句相同,然後使用PDOStatement :: fetchColumn()來檢索將返回的行數。您的應用程序可以執行正確的操作。 http://www.php.net/manual/en/pdostatement.rowcount.php –
- 1. PDO計數不工作
- 2. PDO登錄不起作用?
- 3. PDO查詢不起作用
- 4. PDO插入不起作用
- 5. PDO PHP bindValue不起作用
- 6. PDO插入不起作用
- 7. PDO查詢不起作用
- 8. PDO查詢不起作用
- 9. php pdo綁定參數不起作用
- 10. PDO綁定參數不起作用
- 11. 數計數不起作用
- 12. SQL計數不起作用
- 13. 計數器不起作用
- 14. XSLT計數()不起作用
- 15. 使用PDO插入不起作用
- 16. PDO - 使用fetchall語法不起作用
- 17. PHP PDO Preprared行計數不工作
- 18. PHP PDO - INSERT INTO與bindParam不起作用
- 19. PDO中LIKE查詢不起作用
- 20. PDO刪除查詢不起作用
- 21. PHP pdo插入查詢不起作用
- 22. Pdo->準備,bindParam不起作用
- 23. PDO準備bindParam不起作用
- 24. PHP PDO簡單插入不起作用
- 25. 示例PDO查詢不起作用
- 26. PDO創建表格不起作用
- 27. PDO和動態請求不起作用
- 28. PDO插入查詢不起作用
- 29. PHP PDO,綁定不起作用
- 30. PHP PDO登錄過程不起作用
我不認爲'fetchColumn()'有資格作爲「PDO數」 ... –
只是給我們一段代碼解決不了你的問題。請向我們提供更多信息;錯誤,預期行爲,意外行爲,案例場景。 –
-1使用PDO與舊的mysql ext相同的野蠻方式 –