2011-08-26 9 views
6

Đây là trang hiện tại của tôi:Sử dụng PDO để thay thế mysql_connect - định dạng chính xác?

<?php 

mysql_connect('localhost', 'root', 'mypass') or die (mysql_error()); 
mysql_select_db('radio1') or die (mysql_error()); 
$result = mysql_query("SELECT *, TIME_FORMAT(airtime, '%H:%i') `airtime` 
from presenters"); 
//Table starting tag and header cells 
while($row = mysql_fetch_array($result)) { 
?> 
    <?php foreach($rows as $row):?> 
     <dl class="standard"> 
      <dt><a href="<?=$row=['link'] ?>" title="<?=$row=['presenter'] ?>"><?=$row['airtime'] . " - " .$row['presenter']?></a></dt> 
      <dd class="itemimg"><a href="<?=$row=['link'] ?>" title="<?=$row=['presenter'] ?>"><img src="<?=$row['image']; ?>" width="100" height="75" alt="<?=$row=['presenter'] ?>" title="<?=$row=['presenter'] ?>" /></a></dd> 
      <dd class="itemdesc"> 
       <?=$row['showinfo']; ?> 
      </dd> 
      <dd class="itemlink"> 
       <a href="<?=$row=['link'] ?>" title="Find out more..."><span> </span> 
         <?=$row['more']; ?></a> 

      </dd> 
     </dl> 
    <?php endforeach;?> 

Tôi muốn chuyển đổi này để mã mà làm việc với PDO, vì nó được kích hoạt trong php.ini của tôi

Làm thế nào tôi sẽ nhận được PDO để làm việc với điều này, như tôi dự định (cho dự án này và tất cả các dự án tương lai) loại bỏ việc sử dụng mysql_connect cũ hơn.

tôi đã có một cái nhìn như thế nào để làm điều đó tại Zend Developer Zone và mặc dù tôi có thể làm điều đó ở mức độ trung bình cho các dự án Dwoo dựa trên mẫu này không sử dụng một động cơ templating - đó là tinh khiết cú pháp dựa trên PHP , không có mẫu nào được sử dụng, chỉ khác nhau include() và yêu cầu, cộng với echo() nếu cần.

Mọi trợ giúp đều được đánh giá cao!

+1

Hãy hiển thị những gì bạn đã thử. Nó là nhàm chán chỉ viết nó cho bạn. – xdazz

+0

@xdazz - Mã này có tại http://pastebin.com/atJF6TcZ – radiogeek86

+2

Bạn thực sự nên đọc hướng dẫn sử dụng về pdo. Đó là cách tôi học được, và tôi đã mất chính xác mười phút để nắm vững những điều cơ bản. Nó cũng có các ví dụ tốt về cách sử dụng nó một cách chính xác. 1 để chuyển đổi từ mysql thành pdo. [Nhập thủ công trên PDO] (http://www.php.net/manual/en/book.pdo.php) –

Trả lời

4

Đây là giải pháp của bạn.

<?php 

$hostname = "localhost"; 
$username = "root"; 
$password = "mypass"; 
$dbname = 'radio1'; 
$dbh =null; 
try { 
    $dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password); 
} 
catch(PDOException $e) 
{ 
    echo $e->getMessage(); 
} 

$result = $dbh->query("SELECT *, TIME_FORMAT(airtime, '%H:%i') `airtime` from presenters"); 
//Table starting tag and header cells 
while($row = $result->fetch()) { 
?> 
<?php foreach($rows as $row):?> 

    <dl class="standard"> 
    <dt><a href="<?=$row=['link'] ?>" title="<?=$row=['presenter'] ?>"><?=$row['airtime'] . " - " .$row['presenter']?></a></dt> 
     <dd class="itemimg"><a href="<?=$row=['link'] ?>" title="<?=$row=['presenter'] ?>"><img src="<?=$row['image']; ?>" width="100" height="75" alt="<?=$row=['presenter'] ?>" title="<?=$row=['presenter'] ?>" /></a></dd> 
      <dd class="itemdesc"> 
        <?=$row['showinfo']; ?> 
       </dd> 
       <dd class="itemlink"> 
      <a href="<?=$row=['link'] ?>" title="Find out more..."><span> 
</span> 
    <?=$row['more']; ?></a> 

        </dd> 
</dl> 
<?php endforeach;?> 
-1

sử dụng mã dev bên dưới

// Vào cuối của mã bạn phải giải phóng các nguồn lực

// nguồn lực sử dụng miễn phí

$ result-> closeCursor();

$ dbh = null;