2013-04-26 27 views
0

我有一个mysql数据库。 我有一个php脚本,连接到我的数据库。我的数据库由3个表,错误,日期,电子邮件地址,按照截图从php的mysql查询中获取日期

Database structure

我的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); 
?> 

我想换成“2013-01 -28'与昨天的日期和格式Ymd。 我该怎么做?

任何反馈,将不胜感激

+0

根据你的脚本,你必须选择使用PHP生成日期或MYSQL产生。如果您插入从PHP生成的日期,那么在PHP中生成日期字符串和其他使用你应该使用mysql date_sub函数来获取正确的日期:) – Svetoslav 2013-04-26 13:06:41

回答

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()); 
+0

谢谢,这对我有效 – rezizter 2013-04-26 13:09:24

+0

没有probs,很高兴帮助,如果你满意,请务必将它标记为答案:) – Dom 2013-04-26 13:10:21

0
$date = new DateTime('Yesterday'); 
$fdate = $date->format('Y-m-d'); 
echo $fdate; 
+0

'$ date - > format('Ym-d')'不'$ date-format('Ym-d')'。 – 2013-04-27 04:59:26

+0

谢谢。 Majidgeek – 2013-04-27 16:06:34

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

为什么不使用MySQL函数?它们旨在用于MySQL。

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

btw。 mysql- *功能已被弃用:http://www.php.net/manual/en/function.mysql-query.php

+0

谢谢你的反馈,我试过,但出于某种原因在我的服务器上无法正常工作。 – rezizter 2013-04-26 13:09:01

+0

对不起,我忘了从函数中只提取日期,看到我更新的答案。 – Shomz 2013-04-26 13:15:19

+0

这也适用于我,谢谢你的协助 – rezizter 2013-04-26 13:47:31

-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"'; 
?>