0

我有一个mysql数据库。我有一个连接到我的数据库的 php 脚本。根据屏幕截图,我的数据库包含 3 个表,错误、日期、电子邮件地址

数据库结构

我的php查询如下:

<?php

mysql_connect("localhost", "username", "password") or die(mysql_error());
mysql_select_db("pmta_reporting") or die(mysql_error());

$result = mysql_query("SELECT * FROM microcompany WHERE date='2013-01-28' AND code='2.0.0'") or die(mysql_error());
$count= mysql_num_rows($result);
echo $count;

mysqli_close($con);
?>

我想用昨天的日期和 Ymd 格式替换“2013-01-28”。我怎样才能做到这一点?

对于任何反馈,我们都表示感谢

4

6 回答 6

4
$yesterday = date("Y-m-d", strtotime('-1 day'));
$result = mysql_query("SELECT * FROM microcompany WHERE date='$yesterday' AND code='2.0.0'") or die(mysql_error());
于 2013-04-26T12:59:45.637 回答
3

为什么不使用 MySQL 功能?它们旨在用于 MySQL。

SELECT * FROM microcompany WHERE date=DATE(DATE_SUB(NOW(), INTERVAL 1 DAY)) AND code='2.0.0'

顺便提一句。mysql-* 函数已弃用:http ://www.php.net/manual/en/function.mysql-query.php

于 2013-04-26T13:02:10.097 回答
1
$date = new DateTime('Yesterday');
echo $date->format('Y-m-d');

或者

$date = new DateTime('2013-01-28');
$date->modify('-1 day');
echo $date->format('Y-m-d');

仅供参考,您不应该mysql_*在新代码中使用函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程

于 2013-04-26T12:59:45.523 回答
0

为此目的使用本机 mysql 函数。

$result = mysql_query("SELECT * FROM microcompany WHERE
date=date_sub(date(now()), interval 1 day) AND code='2.0.0'")
or die(mysql_error());
于 2013-04-26T13:01:36.037 回答
0
$date = new DateTime('Yesterday');
$fdate = $date->format('Y-m-d');
echo $fdate;
于 2013-04-26T13:01:03.217 回答
-1
<?php

$yesterday = date('Y-m-d', strtotime('-1 day',strtotime(date("y-m-d")) ));

$query = "SELECT * FROM microcompany WHERE date='".$yesterday."' AND code='2.0.0'";

$newQuery = 'update microcompany set date = "'.$yesterday.' where date = "'.$oldDate.'" and code ="2.0.0"';
?>
于 2013-04-26T13:06:48.637 回答