您好我正在我的公司项目中工作,我之前在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