<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Dieser Teil des Codes hat nichts mit dem Inhalt des Textes zu tun,Zum Beispiel nur Zwecke</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Beginnen Sie mit der Ausführung des Skripts...\n"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/*
Ein Typ -Nichtübereinstimmung angetroffen?schauen Sie an mysqli_result::$lengths Welche Arten von Themen sollten bei der Verwendung geachtet werden
*/</span>
<span class="hljs-comment">/**
* mysqli_result::$lengths ist ein Array,Enthält die Datenlänge, die jedem Feld im Ergebnissatz entsprechen。
* Bei der Verwendung aufpassen,Typen und Nutzungsszenarien dieser Längenwerte。
*/</span>
</span><span><span class="hljs-variable">$mysqli</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">mysqli</span></span><span>(</span><span><span class="hljs-string">"localhost"</span></span><span>, </span><span><span class="hljs-string">"user"</span></span><span>, </span><span><span class="hljs-string">"password"</span></span><span>, </span><span><span class="hljs-string">"testdb"</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"Verbindung ist fehlgeschlagen: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error);
}
</span><span><span class="hljs-variable">$sql</span></span><span> = </span><span><span class="hljs-string">"SELECT id, name, description FROM products"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">query</span></span><span>(</span><span><span class="hljs-variable">$sql</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span> </span><span><span class="hljs-keyword">instanceof</span></span><span> mysqli_result) {
</span><span><span class="hljs-comment">// $lengths ist eine Reihe von ganzen Zahlen,Das Element entspricht der Bytelänge jedes Feldes</span></span><span>
</span><span><span class="hljs-variable">$lengths</span></span><span> = </span><span><span class="hljs-variable">$result</span></span><span>->lengths;
</span><span><span class="hljs-comment">// Beispiel:Holen Sie sich das Längenarray und drucken Sie</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Feldlängenarray -Typ: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">gettype</span></span><span>(</span><span><span class="hljs-variable">$lengths</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Feldlängeninhalt:\n"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$lengths</span></span><span>);
<span class="hljs-comment">/*
* Schlüsselpunkte für Typfragen:
* 1. $lengths ist ein Array,Und jedes Element ist eine Ganzzahl(int)。
* 2. Diese Längen sind Bytes,Beachten Sie die Funktion der Zeichenfolgelänge strlen Die Anzahl der Zeichen, die erhalten werden können, ist unterschiedlich,Besonders Multibyte -Charaktere。
* 3. $lengths Arrays werden nur verwendet mysqli::store_result Oder es ist gültig, wenn das Ergebnis standardmäßig puffern,verwenden mysqli_use_result Nicht verfügbar, wenn。
* 4. Achten Sie darauf, vor dem Besuch zu bestätigen $result Es ist effektiv mysqli_result Objekt,ansonsten $lengths Keine Existenz oder Fehler。
*/</span>
</span><span><span class="hljs-comment">// 进一步Beispiel:verwenden长度信息处理数据</span></span><span>
</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$row</span></span><span> = </span><span><span class="hljs-variable">$result</span></span><span>-></span><span><span class="hljs-title function_ invoke__">fetch_assoc</span></span><span>()) {
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$row</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$field</span></span><span> => </span><span><span class="hljs-variable">$value</span></span><span>) {
</span><span><span class="hljs-variable">$idx</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_search</span></span><span>(</span><span><span class="hljs-variable">$field</span></span><span>, </span><span><span class="hljs-title function_ invoke__">array_keys</span></span><span>(</span><span><span class="hljs-variable">$row</span></span><span>));
</span><span><span class="hljs-variable">$len</span></span><span> = </span><span><span class="hljs-variable">$lengths</span></span><span>[</span><span><span class="hljs-variable">$idx</span></span><span>] ?? </span><span><span class="hljs-literal">null</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Felder '<span class="hljs-subst">{$field}</span></span></span><span>' Die Wertlänge von(Byte)für:</span><span><span class="hljs-subst">{$len}</span></span><span>\n";
</span><span><span class="hljs-comment">// Achten auf die $len 是Byte长度,Nicht unbedingt gleich der Anzahl der String -Zeichen</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Anzahl der Zeichenfolgenzeichen:"</span></span><span> . </span><span><span class="hljs-title function_ invoke__">mb_strlen</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
}
</span><span><span class="hljs-variable">$result</span></span><span>-></span><span><span class="hljs-title function_ invoke__">free</span></span><span>();
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Abfrage fehlgeschlagen oder keine Ergebnisse。\n"</span></span><span>;
}
</span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Dieser Teil des Codes hat nichts mit dem Inhalt des Textes zu tun,Zum Beispiel nur Zwecke</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Ende der Skriptausführung。\n"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Verwandte Tags:
mysqli_result