以下代码运行正常,但在第二次MySQL查询之后,脚本似乎已停止输出HTML,尽管我没有错误。然而,计数器运行良好,我已经确定了问题(这是与while循环)。我知道这是因为“你好?”字符串不输出。有任何想法吗?提前谢谢。
$db = new MySQLConnect();
$db->query("SELECT * FROM links;");
$db->run();
while ($row = $db->row()->fetch()) {
$id = $row["id"];
$count = $row["count"];
$count = $count + 1;
var_dump($id);
var_dump($_GET["id"]);
if ($id == $_GET["id"]) {
try {
$db->query("UPDATE links SET count=count + 1 WHERE id=$id;");
$db->run();
} catch(Exception $e) {
echo $e->getMessage();
}
}
print_r($id . ": " . $count);
}
echo "Hello?";
答案 0 :(得分:1)
正如上面评论中提到的那样,你要覆盖结果集。我没有测试,但应该按预期工作。
$db = new MySQLConnect();
$db->query("SELECT * FROM links;");
$db->run();
while ($row = $db->row()->fetch()) {
$id = $row["id"];
$count = $row["count"];
$count = $count + 1;
var_dump($id);
var_dump($_GET["id"]);
if ($id == $_GET["id"]) {
try {
$stmt = new MySQLConnect();
$stmt->query("UPDATE links SET count=count + 1 WHERE id=$id;");
$stmt->run();
} catch(Exception $e) {
echo $e->getMessage();
}
}
print_r($id . ": " . $count);
}
echo "Hello?";