随着MYSQL函数的贬值,我一直试图将代码转移到PDO,但我已经习惯了SQL的一些功能,这些功能无法在PDO中复制。这是我打印出一个包含推特信息的表格的代码:
<?php $date = date('H:i:s', time()); ?>
<h3>Twitter Feed @ <?php echo "$date"; ?></h3>
<?php
/*** mysql hostname ***/
$hostname = 'localhost';
/*** mysql username ***/
$username = 'MySQL_USER';
/*** mysql password ***/
$password = 'SECRET';
try {
$dbh = new PDO("mysql:host=$hostname;dbname=DB_NAME", $username, $password);
/*** echo a message saying we have connected ***/
echo 'Printing Tweets<br />';
/*** The SQL SELECT statement ***/
$sql = "SELECT * FROM tweets";
foreach ($dbh->query($sql) as $row)
{
print $row['created_at'] .' <br /> '. $row['tweet_text'] .' <br /> '. $row['screen_name'] . ' <br /> '. $row['name'] .' <br /> '. '<br /><br />';
}
/*** close the database connection ***/
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
三个问题:
此代码首先输出存储的第一个Tweet。我该怎么点,最后一条推文才是第一条
在MYSQL中,我会编写
$result = mysql_query("SELECT * FROM tweets ORDER BY
在DESC");
创建
该表包含指向用户图片的链接,如何将其打印为图像而非文本
同样,在MySQL中,我会写:
echo "<img src='";
echo stripslashes($row[9]);
echo "'>";
我不必记住密码和用户名,而是总是将连接详细信息放在一个单独的包含文件中,例如database_connection.php,该文件受密码保护。这在PDO中可能吗
在MySQL中:
require_once 'includes/database_connection.php' ;
mysql语言没有改变,只是访问数据库的方式没有改变。ORDERBY语句仍将按原样工作。通过更改此行:
foreach ($dbh->query($sql) as $row)
对此:
foreach ($dbh->query($sql,PDO::FETCH_ASSOC) as $row)
您可以按列名访问每一列,就像以前一样。
你的图片链接只会改变你访问该栏的方式:
echo stripslashes($row['image']); // Or whatever the column name is
连接数据库文件仍然可以。