将PHP5代码更改为PHP4代码但收到错误

时间:2014-05-22 15:28:37

标签: javascript ajax json php4 php-5.4

您好我正在我的公司项目中工作,我之前在PHP5上开发了代码。它工作正常。但是现在对于一些问题,他们希望我开发这个迁移或将相同的代码更改为PHP4,以便它可以在PHP4上运行。我试图改变这个,但它现在甚至没有给出错误甚至显示数据。请帮助我在哪里做我正在做错了。谢谢。

PHP5运行和工作代码:

<?php 
  $pdo = new PDO('mysql:host=localhost;dbname=sitepoint', 'root', '*****');
  $opts = $_POST['filterOpts'];
  $qMarks = str_repeat('?,', count($opts) - 1) . '?';
  $statement = $pdo->prepare("SELECT Fahrzeuge.id, name, dsnr
       FROM Fahrzeuge
       INNER JOIN ohne_fahrzeuge ON Fahrzeuge.dsnr = ohne_fahrzeuge.dsnr
       WHERE Fahrzeuge.name IN ($qMarks)");
  $statement -> execute($opts);
  $results = $statement -> fetchAll(PDO::FETCH_ASSOC);
  $json = json_encode($results);
  echo($json);
?>

我尝试了相同的代码并进行了更改,以便它可以在PHP4上运行但不显示任何数据:

<?php 
require 'Database.php';
#### TEMP SET NAMES FÜR UTF8 ###################################################
require_once('Json.php');
$jsonObj = new Services_JSON();
  $opts = $_POST['filterOpts'];
  foreach ($opts as $opt) {
      $opt = sprintf("'%s'", mysql_real_escape_string($opt));
  }
         $query = sprintf(
      "SELECT Fahrzeuge.id, name, dsnr
       FROM Fahrzeuge
       INNER JOIN ohne_fahrzeuge ON Fahrzeuge.dsnr = ohne_fahrzeuge.dsnr
       WHERE Fahrzeuge.name IN (%s)",
      join(',', $opts)
  );

  $result = mysql_query($query);
  $data   = array();
  while ($row = mysql_fetch_assoc($result)) {
      $data[] = $row;
  }

echo $jsonObj->encode($data);
?>

这是我的JSON代码:JSON

0 个答案:

没有答案