mysql 查询使用变量更新单元格 其中条件日期时间字段与另一个变量匹配


mysql query update a cell with variable Where criteria datetime field matches another variable

我尝试了许多语法来更新数据库中的单元格,但没有一种有效。以下是我的方案。

我的数据库有3个字段,类型为Time(datetime),Flow(float)和Cumulative(float)

首先,我将最后两行数据放入变量中,然后想要更新/替换累积字段的最后一行,其中条件与日期时间字段。

我怀疑问题出在日期时间字段(和(或)或)引号上。

这是代码。

$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());

代码的其余部分正常工作,但它没有更新累积字段。请帮帮我!

由于您尝试运行不是内置函数的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注入漏洞。尝试使用:

Mysqli: http://php.net/manual/en/book.mysqli.php

PDO:http://php.net/manual/en/book.pdo.php

将查询更改为

mysqli_query("UPDATE  `Inflow_table` SET  `Cumulative` =  "'.$Cumulativeupdate.'" WHERE  `Time` =  "'.$LastTime.'" LIMIT 1 ") or die(mysql_error());