Derzeit verwende ich freetds, um eine Verbindung zu einem MSSQL-Server, wo ich eine Menge von Buchhaltungsdaten ziehen. Die Daten ziehen sich gut, bis sie einen Nullwert erreichen. Zu diesem Zeitpunkt erhalte ich keine PHP-Fehler. Stattdessen erhalte ich den folgenden Fehler im Apache-Fehlerprotokoll.PHP PDO Segmentierung Fehler Fehler auf Null Rückgabewert
[Ankündigung] Kind pid 10235 Ausgang Störmeldung Segmentation (11)
Ich habe für diese einige der Suche und fand this page, aber es hilft nicht wirklich. Die Abfrage, die ich wie folgt aussieht etwas verwende,
SELECT DISTINCT(t1.PEREND), t2.ERATE, t2.EEXTEND, t2.EARNDED, t1.ENTRYSEQ
FROM UPCHKD as t1 LEFT JOIN
(SELECT EARNDED, PEREND, ERATE, EEXTEND, ENTRYSEQ FROM UPCHKD
WHERE (EARNDED LIKE '401K%'AND EARNDED NOT LIKE '401KL%') AND
EMPLOYEE = ? AND PEREND >= ? AND PEREND <= ?) as t2 ON t1.PEREND = t2.PEREND
WHERE t1.PEREND >= ? AND t1.PEREND <= ? AND t1.EMPLOYEE = ? ORDER BY PEREND
Und ich bin die Daten immer eine while-Schleife wie die folgenden verwenden,
while($result = $sth->fetch(PDO::FETCH_ASSOC)) {
//Deal with data here
}
Ich kann nicht sagen, ob dies ein Problem mit PDO ist, Meine Datenbankschicht, MSSQL oder meine Abfrage. Auch möchte ich darauf hinweisen, dass wenn ich die Abfrage nehme und es manuell mit MSSQL Studio ausführen, läuft es gut und zeigt die Null-Werte richtig.