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