Ich glaube, als sie anfingen, PHP zu lernen, war MySQL die erste Wahl für die Datenbank, die von vielen Menschen verwendet wurde, und die MySQL-Erweiterung war die erste Wahl für Erweiterungen, um eine Verbindung zur Datenbank herzustellen. Allerdings mit der Verbesserung der PHP-Version Die MySQL-Erweiterung wird nach und nach durch MySQL und PDO ersetzt. Wie bei der Verwendung veralteter MySQL-Funktionen angegeben: Die MySQL-Erweiterung ist veraltet und wird in Zukunft entfernt: Verwenden Sie stattdessen MySQL oder PDO. Es ist unbedingt erforderlich, die MySQL-Erweiterung zu lernen.
Im Vergleich zur MySQL-Erweiterung unterstützt die MySQL-Erweiterung objektorientierte und prozessorientierte Methoden, unterstützt die Vorverarbeitung, unterstützt die Transaktionsverarbeitung und ist schneller als MySQL. In diesem Artikel werden hauptsächlich die grundlegenden einfachen objektorientierten Operationen von MySQL vorgestellt.
Mysqli-Installationskonfiguration
Mysqli-Installationskonfiguration ist dieselbe wie andere Konfigurationen. Stellen Sie zunächst sicher, dass die Datei php_mysqli.dll in Ihrem vorhanden ist ext-Ordner (im Allgemeinen existiert er) und entfernen Sie das „;“ vor der Zeile „extension=php_mysqli.dll“ in der php.ini-Datei und stellen Sie sicher, dass extensi/span>
in der Konfigurationsdatei Wie kann ich überprüfen, ob die MySQLi-Erweiterung aktiviert ist?
Tatsächlich besteht der direkteste Weg darin, die Funktion der MySQLi-Erweiterung zu verwenden, um zu sehen, ob sie verwendet werden kann. Sie können beispielsweise beurteilen, ob die Erweiterung installiert wurde kann sich mit der Datenbank verbinden. Wenn die Verbindung nicht erfolgreich ist, denken Sie nicht, dass sie nicht installiert ist. Mithilfe der Funktion phpinfo() können wir eindeutig feststellen, ob die Verbindung erfolgreich ist ist verfügbar.
Natürlich können Sie extension_loaded('mysqli') verwenden, um festzustellen, ob die MySQLi-Erweiterung geladen ist, und Sie können sogar get_loaded_extensions() verwenden, um abzurufen, welche Erweiterungen geladen sind.
Die Verwendung von objektorientiertem MySQL
Für Entwickler, die die MySQL-Erweiterung verwendet haben, ist MySQL sowohl objektorientiert als auch prozessorientiert. Es ist sehr leicht zu verstehen und fühlt sich vertraut an. Informationen zu bestimmten Attributmethoden finden Sie im offiziellen PHP-Handbuch, http://php.net/manual/zh/mysqli.summary.php Im Folgenden werde ich die Verwendung von MySQL anhand eines Codes veranschaulichen .
Die in diesem Beispiel verwendete Tabelle ist die Testtabelle, die zwei Felder enthält: id und title.
<span><?<span>php </span><span>//</span><span>配置文件完成相关配置</span><span>define</span>("HOST", "localhost"<span>); </span><span>define</span>("USER", 'root'<span>); </span><span>define</span>("PWD", ''<span>); </span><span>define</span>("DB", 'yii'<span>); </span><span>//</span><span>建立连接,生成mysqli实例对象。</span><span>$mysqli</span>=<span>new</span> Mysqli(HOST,USER,PWD,<span>DB); </span><span>if</span> (<span>$mysqli</span>-><span>connect_errno) { </span>"Connect Error:".<span>$mysqli</span>-><span>connect_error; } </span><span>//</span><span>设置默认的字符集</span><span>$mysqli</span>->set_charset('utf8'<span>); </span><span>$sql</span>="select * from test"<span>; </span><span>//</span><span>生成mysql_result对象</span><span>$result</span>=<span>$mysqli</span>->query(<span>$sql</span><span>); </span><span>//</span><span>返回二维关联数组,参数同理可以设定为MYSQLI_NUM返回索引数组,或者MYSQLI_BOTH二者兼有。</span><span>$rows</span>=<span>$result</span>-><span>fetch_all(MYSQLI_ASSOC); </span><span>//</span><span>将结果指针调整到任意行</span><span>$result</span>->data_seek(2<span>); </span><span>$row</span>=<span>$result</span>-><span>fetch_row(); </span><span>//</span><span>$row=$result->fetch_array(); //$row=$result->fetch_assoc(); //$row=$result->fetch_object(); //释放结果集</span><span>$result</span>-><span>free(); </span><span>//</span><span>$result->free_result(); //$result->close(); //关闭连接</span><span>$mysqli</span>->close();</span>
Der obige Code zeigt einfach, wie MySQL zum Abfragen ohne Traversierung verwendet wird Wenn Sie die Abfrageergebnismenge verwenden, sollte es nicht schwierig sein, die Daten im Array abzurufen.
Es ist zu beachten, dass die von $mysqli->query() ausgeführte SQL-Anweisung SELECT, SHOW, DESCRIBE oder EXPLAIN Die Abfrage gibt ein mysqli_result-Objekt zurück, und andere Abfragen geben TRUE,执行失败则都返回false。
zurück, das durch Aufruf von $mysqli->affected_rows beim Ausführen von INSERT erhalten werden kann , UPDATE- und DELETE-Vorgänge
$mysqli->affected_rows Der Rückgabewert -1 zeigt an, dass ein Problem mit der SQL-Anweisung vorliegt, 0 gibt an, dass keine betroffenen Datensätze vorhanden sind. und andere Werte sind die Anzahl der betroffenen Datensätze. Das Ausführen mehrerer SQL-Anweisungen, die Vorverarbeitung und die Transaktionsverarbeitung sind ebenfalls wichtige Aspekte von MySQL, über die ich in einem späteren Aufsatz schreiben werde. ps: Ist es so nervös, zum ersten Mal einen technischen Blog zu schreiben? Es gibt viele unangemessene Formulierungen und ich hoffe, dass jeder seine Meinung äußern kann~
Das Obige hat die Grundkenntnisse von Mysqli und einige Aspekte davon vorgestellt. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.