我已经尝试了很多语法来更新数据库中的单元格,但它们都没有工作。以下是我的情景。
我的数据库有3个字段,类型为Time(datetime),Flow(float)&累积(浮点)
首先,我将最后两行数据转换为变量,然后想要更新/替换标准为datetime字段的累积字段的最后一行。
我怀疑问题出在日期时间字段(和(或)或)引号上。
这是代码。
$sql = "select * from Inflow_table ORDER BY Time DESC LIMIT 2";
$query = mysql_query( $sql );
$row = mysql_fetch_assoc($query);
$LastTime = $row[Time];
$Cumulativeupdate = 35.56; //Here a formula replaces the static value
mysqli_query("UPDATE `Inflow_table` SET `Cumulative` = '.$Cumulativeupdate.' WHERE `Time` = '.$LastTime.' LIMIT 1 ") or die(mysql_error());
其余代码正在运行,但它没有更新累积字段。请帮帮我!
答案 0 :(得分:0)
由于您正在尝试运行不是内置函数的mysqli_query,请更改:
mysqli_query("UPDATE `Inflow_table` SET `Cumulative` = '.$Cumulativeupdate.' WHERE `Time` = '.$LastTime.' LIMIT 1 ") or die(mysql_error());
到
mysql_query("UPDATE `Inflow_table` SET `Cumulative` = '".$Cumulativeupdate."' WHERE `Time` = '".$LastTime."' LIMIT 1 ") or die(mysql_error());
并且还记得要注意与mysql_ *函数相关的SQL Injection漏洞。尝试使用:
mysqli:http://php.net/manual/en/book.mysqli.php
或
答案 1 :(得分:0)
将查询更改为
mysqli_query("UPDATE `Inflow_table` SET `Cumulative` = "'.$Cumulativeupdate.'" WHERE `Time` = "'.$LastTime.'" LIMIT 1 ") or die(mysql_error());