DATE()sql无法从php工作

0 php sql

我在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?

jue*_*n d 5

您错过了";代码行的末尾.
除此之外你可以使用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_*函数.它们不再维护,并且已被正式弃用.请转而了解准备好的语句,并使用PDOMySQLi.请参阅此文章,以快速了解如何执行此操作以及它为何如此重要.