MySQL и PDO: об эффективности - PullRequest
0 голосов
/ 29 марта 2012

У меня есть следующий код:

<?php
try {
  # MySQL with PDO_MYSQL
  $DBH = new PDO("mysql:host=*****;dbname=****", "****", "*****");
  $DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

  # statement handle (prevents injection)
  $STH = $DBH->prepare("SELECT Adresse FROM Agences");
  $STH->execute();

  # statement handle (prevents injection)
  $STHNAMES = $DBH->prepare("SELECT `numero-agence` FROM Agences");
  $STHNAMES->execute();

  $storeArray = Array();
  $nameArray = Array();
  while ($row = $STH->fetch()) {
      $storeArray[] =  $row['Adresse'];  
  }

  while ($row = $STHNAMES->fetch()) {
      $nameArray[] =  $row['numero-agence'];  
  }

  echo json_encode(
    Array("theAddress" => $storeArray,
    "theName" => $nameArray)
  );
}
catch(PDOException $e) {
    echo 'There was an issue inserting thing into database: '.$e->getMessage();
}
?>

Мой вопрос: есть ли способ объединить два запроса и при этом иметь ассоциативный массив для отправки обратно клиенту в кодировке JSON?(Я запрашиваю этот бит PHP с помощью ajax-вызова, и мне нужны полученные данные)

Спасибо.

1 Ответ

2 голосов
/ 29 марта 2012

Может быть сделано в том же запросе:

     # statement handle (prevents injection)
      $STH = $DBH->prepare("SELECT Adresse, `numero-agence` FROM Agences");
      $STH->execute();

      $storeArray = Array();
      $nameArray = Array();
      while ($row = $STH->fetch()) {
          $storeArray[] =  $row['Adresse'];  
          $nameArray[] =  $row['numero-agence'];  
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...