PHP 更新记录重复区域


php update record repeat region

正如我之前关于什么是 cron 工作的问题中所述,我现在正在尝试编写一个,但似乎遇到了问题。这是我得到的最接近的。我想将数据库中的每条记录更新为比现有记录多一条。

例如,如果字段为 30,则当运行此脚本时,它将变为 31。但是我有多个字段,我希望所有字段都增加一个。

这是我目前写的,但它不起作用,但我确实得到了"记录更新成功"的回声,但没有任何变化。如果我更改它以使 $Age = $Test,然后我为 ID 插入一个随机数,它最终将等于 Test。如果我说 $Age = $NewAge 和随机 ID,它会将我数据库中的变量更改为 302。我不知道它在哪里拉那个随机的 302。

有什么建议吗?

这是我下面的代码:

<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "RR";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 
$sqlSelect = "SELECT id, Age FROM Horse";
$result = $conn->query($sqlSelect);
do{
$id = $row['id'];
$Age = $row['Age'];
$NewAge = $Age + 1;
$Test = 200;

echo $id, ' ', $Age, ' ', $NewAge; ?> <br/>
<?php 
$sqlUpdate = "UPDATE Horse SET Age='$NewAge' WHERE id='$id'";

}
while($row = $result->fetch_assoc());

if ($conn->query($sqlUpdate) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
$conn->close();
?>

这个问题非常模糊且难以理解,但正如@rjdown所说,这将更新数据库中的所有行并将Age递增 1。

注意:不需要从数据库中获取记录,也不需要循环访问它们。只需一行 SQL 将更新所有行。

<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "RR";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sqlUpdate = "UPDATE Horse SET Age = Age + 1";
if ($conn->query($sqlUpdate) === TRUE) {
echo "All records updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}