-1
正如我在上一个关于cron工作的问题中所述,现在我正在尝试编写一个,但似乎遇到了问题。这是我得到的最接近的。我想更新数据库中的每个记录比现有记录更多。php更新记录重复区域
示例如果该字段为30,那么当此脚本运行时,它将变为31.但是我有多个字段,我希望所有字段都增加1。
这是我目前写的,但它不起作用,但我得到“记录更新成功”的回声,但没有任何变化。如果我将其更改为$ 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();
?>
为什么不只是'更新马SET年龄=年龄+ 1'? – rjdown
我假设你的“年龄”列是int?试试这个'更新马SET年龄=年龄+ 1 WHERE id ='$ id'' – roullie
这根本不会导致任何改变。我试过了,不知道为什么不行。 @roullie –