2014-10-18 2 views
0

Я новичок в этом материале PDO с PHP, поэтому я хочу знать, как назначить данные переменным.PDO Fetch параметры настройки mysql php

Я получаю это Array ([0] => Array ([id] => 1 [title] => Test Announcement! [link] => http://www.google.com)), когда он вернется.

Я хочу, чтобы это было просто «Test Announcement» и «http://www.google.com» и иметь возможность подписывать их на переменную типа $ title и $ link.

functions.php

<?php 
    require("common.php"); 
    function getAnnouncements() { 
     $query = "SELECT title, link FROM announcements"; 

     try { 
      global $db; 
      // Execute the query against the database 
      $stmt = $db->prepare($query); 
      $stmt->execute(); 
      $result = $stmt->fetchAll(); 
      print_r($result); 

     } 
     catch(PDOException $ex) { 
      // Note: On a production website, you should not output $ex->getMessage(). 
      // It may provide an attacker with helpful information about your code. 
      die("Error loading announcements"); 
     } 

    } 

?> 

Я использовал Kypros ответ, и теперь у меня есть это:

<?php 
    require("common.php"); 
    function getAnnouncements() { 
     $query = "SELECT title, link FROM announcements"; 

     try { 
      global $db; 
      // Execute the query against the database 
      $stmt = $db->prepare($query); 
      $stmt->execute(); 
      $result = $stmt->fetchAll(); 
      foreach($result as $announcement) 
       $title = $announcement['title']; 
       $link = $announcement['link']; 
       echo "<a href='".$link."'>".$title."</a>"; 
      } 
     } 
     catch(PDOException $ex) { 
      // Note: On a production website, you should not output $ex->getMessage(). 
      // It may provide an attacker with helpful information about your code. 
      die("Error loading announcements"); 
     } 

    } 

?> 

С error.log и пустой странице.

[18-Oct-2014 13:28:12 UTC] PHP Parse error: syntax error, unexpected '}', expecting T_CATCH in /home/dxbridge/public_html/scripts/functions.php on line 17 
[18-Oct-2014 13:28:13 UTC] PHP Parse error: syntax error, unexpected '}', expecting T_CATCH in /home/dxbridge/public_html/scripts/functions.php on line 17 
+0

К сожалению, я попытался искать вокруг. Я проверю это, спасибо. –

+0

Joel Нет проблем, я также добавил конкретный ответ, а также вы можете ссылаться на то, чтобы попасть туда, где вы хотите быть. @MichaelBerkowski Выполняя это, если у него много объявлений, он получит только первый, а не цикл через все из них. – Kypros

ответ

0

Ваш $result теперь содержит все строки, соответствующие вашему запросу выбора. Для доступа отдельных значений столбцов можно сделать что-то вроде:

foreach($result as $announcement) 
{ 
    $title = $announcement['title']; 
    $link = $announcement['link']; 
    echo "<a href='".$link."'>".$title."</a>"; 
} 

Это будет выводить гиперссылка связывая каждое объявление ссылки и показывать только это название

+0

Посмотрите в OP. Отредактирована новая ошибка. –

+0

Извините, моя вина. Забыл открыть цикл foreach с помощью {}. См. Обновленный ответ – Kypros

+0

О, ха-ха, я тоже подумал, что я тоже это проверил: P –