我在phpmyadmin中使用此查询并且工作完美
UPDATE TABLE SET DETALLE = 'PENDING FOR TODAY' where DATE(FECHA) = DATE(NOW());
Run Code Online (Sandbox Code Playgroud)
但如果我从PHP做同样的事情
$sql= "UPDATE TABLE SET DETALLE = 'PENDING FOR TODAY'
where DATE(FECHA) = DATE(NOW())
$resultado = mysql_query($sql) or die ("error");
Run Code Online (Sandbox Code Playgroud)
没有做任何事情,如果有问题与DATE()从PHP?
您错过了";代码行的末尾.
除此之外你可以使用curdate()而不是date(now()):
$sql = "UPDATE TABLE
SET DETALLE = 'PENDING FOR TODAY'
WHERE DATE(FECHA) = CURDATE()";
Run Code Online (Sandbox Code Playgroud)
如果您遇到性能问题,可以将其更改为
$sql = "UPDATE TABLE
SET DETALLE = 'PENDING FOR TODAY'
WHERE FECHA >= CURDATE() AND FECHA < CURDATE() + interval 1 day";
Run Code Online (Sandbox Code Playgroud)
如果你有一个索引,它使用索引FECHA.
请不要在新代码中使用mysql_*函数.它们不再维护,并且已被正式弃用.请转而了解准备好的语句,并使用PDO或MySQLi.请参阅此文章,以快速了解如何执行此操作以及它为何如此重要.
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |