我一直在学习使用PDO和PHP的基础知识,我的查询工作正常。 这是代码:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<?php
$hostname = "localhost";
$username = "test";
$password = "test";
try {
$db = new PDO("mysql:host=$hostname;dbname=goodsdb", $username, $password);
//echo "Connected to database"; // check for connection
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
$sql = "Select * from items";
$result = $db->query($sql);
foreach ($result as $row) {
//echo $row["goods"]. "<br />";
}
$db = null; // close the database connection
}
catch(PDOException $e) {
echo $e->getMessage();
}
?>
<p>
<?php
echo $row["goods"];
?>
</p>
<p>
<?php
echo $row["auctiondate"];
?>
</p>
</div>
<?php require 'footer.php' ?>
它起作用,到目前为止没有错误。请注意,我已经在foreach之后注释了echo部分,并使用php分隔符回显了行 - 这是一个好的做法,还是应该取消注释?
但是,如何在我的数据库中获取auctiondate字段以显示数据:
2013年4月6日,中午12:00
而不是
2013-06-06 12:00:00(它在数据库中存储为DATETIME)
我不确定是否使用日期或strtotime来显示此内容,并希望获得有关正确格式化日期的帮助。
这个项目是一个简单的网站,用于显示PDO / MySQL中仓库数据库的数据 - 基本上是一个简单的测试站点。
我正在使用PHP 5.4.4,并在OS X 10.8.3 Mountain Lion上使用MAMP,如果这有帮助的话。
答案 0 :(得分:5)
$mydate = date("jS M Y, g:ia", strtotime($datefrommysql));
有关日期格式的信息,请参阅http://www.php.net/manual/en/function.date.php
答案 1 :(得分:3)
使用php中的日期格式功能或使用mysql date_format函数,如下所示:
Select *,date_format(auctiondate,'%D %M %Y, %h:%i%p' ) as 'mod_date' from items
这将在字段6th April 2013, 12:00pm
mod_date
答案 2 :(得分:1)
由于某些原因您的问题被PDO标记(与日期格式无关),我会对您使用PDO的方式进行一些改进
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
$hostname = "localhost";
$username = "test";
$password = "test";
$opt = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
$db = new PDO("mysql:host=$hostname;dbname=goodsdb", $username, $password, $opt);
$sql = "Select * from items";
$result = $db->query($sql);
foreach ($result as $row) {
//echo $row["goods"]. "<br />";
}
这将是处理PDO错误的正确方法