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

「2013-01-28」を昨日の日付とその形式の Ymd に置き換えたいと思います。これどうやってするの?

フィードバックをいただければ幸いです

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 に答える
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_*。それらはもはや保守されておらず、公式に非推奨です赤いボックスが見えますか? 代わりにプリペアド ステートメントについて学び、 PDOまたはMySQLiを使用してください。この記事は、どちらを使用するかを決めるのに役立ちます。PDO を選択した場合は、ここに良いチュートリアルがあります。

于 2013-04-26T12:59:45.523 に答える
-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 に答える