Hallo,
ich habe im letzten Jahr die Betreuung einer Homepage übernommen. Diese ist zum Teil noch mit mysql_query-Anweisungen programmiert, so dass der Server noch immer auf PHP 5.6 läuft (und somit unnötig Kosten für den Support anfallen). Um endlich den Server auf PHP 7.x umzustellen, bin ich derzeit dabei die Scripte auf PDO umzustellen. Das hat zum Teil auch schon problemlos funktioniert. Eines der Scripte macht mir aber nun Probleme und ich kann irgendwie auch nach langer Suche keinen Fehler finden. Daher hoffe ich, dass hier einmal jemand drüber schauen und mir möglicherweise den "Wald" zeigen kann, denn ich "vor lauter Bäumen" nicht sehe. Die MySQL-Abfrage ergibt auf jeden Fall ein Ergebnis, so dass das Problem in den PDO-Anweisungen liegen muss.
Bislang sieht das Script wie folgt aus (die Ausgabe in dem Fall von mir vereinfacht):
Ergebnis:
Berlin
Mit PDO sieht das Script nun bislang so aus:
Ergebnis ist hier:
there are no result
Das bedeutet, dass er im PDO $statementbb scheinbar keinerlei Datensatz ablegt. Die Frage, die ich mir nicht beantworten kann, ist nun, warum das so ist (denn die SQL-Abfrage gibt einen Datensatz zurück, wie man bei der alten Ausgabe sehen kann).
Ich würde mich sehr freuen, wenn da mal jemand drüberschauen und mir ggf. auf die Sprünge helfen könnte.
Gruß
Baerlinerbaer
ich habe im letzten Jahr die Betreuung einer Homepage übernommen. Diese ist zum Teil noch mit mysql_query-Anweisungen programmiert, so dass der Server noch immer auf PHP 5.6 läuft (und somit unnötig Kosten für den Support anfallen). Um endlich den Server auf PHP 7.x umzustellen, bin ich derzeit dabei die Scripte auf PDO umzustellen. Das hat zum Teil auch schon problemlos funktioniert. Eines der Scripte macht mir aber nun Probleme und ich kann irgendwie auch nach langer Suche keinen Fehler finden. Daher hoffe ich, dass hier einmal jemand drüber schauen und mir möglicherweise den "Wald" zeigen kann, denn ich "vor lauter Bäumen" nicht sehe. Die MySQL-Abfrage ergibt auf jeden Fall ein Ergebnis, so dass das Problem in den PDO-Anweisungen liegen muss.
Bislang sieht das Script wie folgt aus (die Ausgabe in dem Fall von mir vereinfacht):
PHP-Code:
$link = mysql_connect($sHost, $sUser, $sPass);
mysql_select_db($sDBName, $link);
$sql1 = "SELECT * FROM `" . $table . "` WHERE `index` = " . $_REQUEST['id'];
$erg1 = mysql_query($sql1, $link) or die("Fehler: " .mysql_error());
$result1[0] = mysql_fetch_array($erg1);
echo $result1[0]["kreis"];
Berlin
Mit PDO sieht das Script nun bislang so aus:
PHP-Code:
$pdo2 = new PDO(sprintf('mysql:host=%s;dbname=%s', $sHost, $DBName), $sUser, $sPass);
$utf8 = $pdo2->prepare("SET NAMES UTF8");
$result_check = $utf8->execute();
$sql1 = "SELECT * FROM `" . $table . "` WHERE `index` = " . $_REQUEST['id'];
$statementbb = $pdo2->prepare($sql1);
$erg1 = $statementbb->execute();
if($statementbb->rowCount() > 0) {
while($result1 = $statementbb->fetch()) {
print_r($result1);
}
} else {
echo 'there are no result';
}
there are no result
Das bedeutet, dass er im PDO $statementbb scheinbar keinerlei Datensatz ablegt. Die Frage, die ich mir nicht beantworten kann, ist nun, warum das so ist (denn die SQL-Abfrage gibt einen Datensatz zurück, wie man bei der alten Ausgabe sehen kann).
Ich würde mich sehr freuen, wenn da mal jemand drüberschauen und mir ggf. auf die Sprünge helfen könnte.
Gruß
Baerlinerbaer
Kommentar