Beim Abrufen von Daten aus der PostgreSQL-Datenbank mit PHP fehlen Zeilenumbrüche
P粉696146205
P粉696146205 2023-08-06 13:44:42
0
1
671
<p>Titel: Fehlendes Zeilenumbruchzeichen beim Abrufen von Daten aus der PostgreSQL-Datenbank mit PHP<br />Text:<br />Beim Abrufen von Daten aus der PostgreSQL-Datenbank mit PHP ist ein Problem aufgetreten. Ich verwende Navicat, um die Daten in meiner Datenbank anzuzeigen, und es zeigt deutlich die Zeilenumbrüche (n) in den Daten an: </p><p><code></code>< <pre class="brush:php;toolbar:false;">addr=1 Adresse=2 Adresse=3 Adresse=4 Adresse=5 Adresse = 6 j=6 [rs485] comid=1 comid=1 [rs485] Baudrate=115200 Bdrate=115200 ...</pre> <p>Wenn ich jedoch PHP verwende, um diese Daten abzurufen, scheinen die Zeilenumbrüche verloren zu gehen. Hier ist der PHP-Code, den ich verwende, um die Daten abzurufen: </p> <pre class="lang-php Prettyprint-override"><code>$host = '192.168.1.92'; $db = 'GneMaster'; $user = 'postgres'; $pass = '123456'; $dsn = "pgsql:host=$host;port=5432;dbname=$db;options='--client_encoding=UTF8'"; $opt = [ PDO::ATTR_ERRMODE => PDO::ATTR_DEFAULT_FETCH_MODE => PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_STRINGIFY_FETCHES => ]; $pdo = neues PDO($dsn, $user, $pass, $opt); $id = '648c0d5dae53ac34094ede6d'; $sql = "SELECT Responsecontent FROM stationcmd WHERE id = :id"; $stmt = $pdo->prepare($sql); $stmt->bindParam(':id', $id, PDO::PARAM_STR); $stmt->execute(); while ($row = $stmt->fetch()) { echo „Auf Zeilenumbrüche prüfen: n“; $CRLFPos = strpos($row['responsecontent'], "rn"); $LFPos = strpos($row['responsecontent'], "n"); $CRPos = strpos($row['responsecontent'], "r"); if ($CRLFPos !== false) { echo "CRLF gefunden an Position: " $CRLFPos . } if ($LFPos !== false) { echo "LF gefunden an Position: " $LFPos . } if ($CRPos !== false) { echo "CR gefunden an Position: " $CRPos . } if ($CRLFPos === false && $LFPos === false && $CRLFPos === false) { echo „Keine Zeilenumbrüche in Antwortinhalt gefunden“; } } </code></pre> <p>Die Ausgabe dieses PHP-Skripts enthält keine Zeilenumbrüche, wie unten gezeigt: </p> <pre class="brush:php;toolbar:false;">addr=1addr=2addr=3addr=4addr=5addr=6j=6[rs485] comid=1comid=1[rs485] baudrate=115200bdrate=115200.. .</pre> <p>Warum gehen Zeilenumbrüche verloren, wenn ich Daten mit PHP erhalte, und wie behalte ich sie? <br /><br />Ich möchte in der Lage sein, die ursprünglichen Zeilenumbrüche beim Abrufen von Daten aus einer PostgreSQL-Datenbank mit PHP beizubehalten, wie in Navicat zu sehen.Soweit ich weiß, sollten alle Zeichen, einschließlich Zeilenumbrüche, erhalten bleiben, wenn ich eine Zeichenfolge aus der Datenbank erhalte. <br /><br />Der Ansatz, den ich versucht habe, bestand darin, die Daten direkt aus der Datenbank abzurufen und auszugeben. Die resultierende Ausgabe enthält jedoch keine Zeilenumbrüche. Ich habe auch versucht, in PHP nach Zeilenumbrüchen (n, r, rn) zu suchen, aber diese Zeichen wurden in meinen Daten nicht gefunden. <br /><br />Was ich erwarte, ist, dass die Daten beim Abrufen und Ausgeben mit PHP genauso aussehen wie in Navicat, d. h. die Daten sollten Zeilenumbrüche enthalten. Das tatsächliche Ergebnis ist jedoch, dass die Daten, die ich erhalte, keine Zeilenumbrüche enthalten. <br /><br />Ich habe auch einige Dokumentationen zu PHP und PostgreSQL durchgesehen, aber keine Informationen zu diesem Problem gefunden. Ich habe in Stack Overflow und anderen verwandten Foren gesucht, aber kein ähnliches Problem oder keine ähnliche Lösung gefunden. <br /><br />Ich suche nach einer Möglichkeit, die ursprünglichen Zeilenumbrüche beim Abrufen von Daten in PHP beizubehalten. Ich habe einige Kenntnisse in PHP und PostgreSQL, habe aber keine Lösung für dieses Problem gefunden. Ich hoffe, dass mir jemand bei der Lösung dieses Problems helfen kann. </p><p><br /></p>
P粉696146205
P粉696146205

Antworte allen(1)
P粉309989673

对于造成的混淆我感到抱歉。我提供的PHP代码连接到了位于192.168.1.92的PostgreSQL数据库,但我在Navicat中查看的数据库位于192.168.1.93。位于192.168.1.93的数据库包含换行符,而位于192.168.1.92的数据库则不包含。这种差异导致了我遇到的问题。对于造成的任何混淆,我深感抱歉。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage