如何更新mysql数据库中的表

时间:2016-03-08 03:23:49

标签: php mysql database

我的数据库“sensorvalues”中有一个名为“State”的表。表“State”有两列。一个称为“设备”,另一个称为“值”。我正在尝试使用GET请求将“Fan”的值更新为值“5”。首先,我在网页上回显“5”的GET变量,以确保我的php文件正在接收它,然后我连接到数据库。我确信这两个步骤都是正确的。但是,我无法获取变量$ temp(这是保存GET数据的位置)并在表中更新Fan的值。这是我将变量保存到$ temp并连接到mysql数据库之后的代码行:

$sql = "UPDATE State SET Value=$temp WHERE Device='Fan'"

在这行代码之后,我用

关闭了mysql连接
mysql_close($db)

但是,在输入“url?fan = 5”后,我在网页上得到了输出5但是“状态”表仍然具有旧的Fan值。为什么这段代码没有更新数据库?我尝试了“Device = Fan”和Device ='Fan'“以及”SET Value ='$ temp'“和”SET Value = $ temp“

1 个答案:

答案 0 :(得分:3)

您还需要进行查询 -

// Update query
$sql = "UPDATE State SET Value=$temp WHERE Device='Fan'"

if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully"; // show success message
} else {
    echo "Error updating record: " . $conn->error; // show error message
}
$conn->close(); // optional, but recommended, connection close, is the $conn is the variable for the database connection

不要使用mysql_ *函数,而是使用mysqli或PDO。

这是面向对象的方法,对于您可以查看的程序方法 - http://www.w3schools.com/php/php_mysql_update.asp