kostenloser Webspace werbefrei: lima-city


mysql und mysqli Unterschied

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    xxxparenjxxx

    xxxparenjxxx hat kostenlosen Webspace.

    Hallo,
    ich lerne momentan den Umgang mit PHP und MySQL und dabei binn ich auf ein interessantes Detail gestoßen.

    In diversen Tutorials werden MySQL-Befehle mit "mysql" (z.B. mysql_query) begonnen in anderen werden sie mit "mysqli" (z.B. mysqli_query) begonnen.
    Beides scheint zu funktionieren.
    Jedoch wird in Notepad++ der "mysqli"-Befehl nicht in blauer Schrift dargestellt, der "mysql"-Befehl hingegen schon.

    Was mich nun interessiert ist: Wo genau besteht der Unterschied zwischen diesen beiden Schreibweisen, warum gibt es ihn und welchen sollte man am bessten verwenden?

    Also schreibt einfach alles rein was ihr dazu wisst.

    mfg, Michl
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. xxxparenjxxx schrieb:
    Hallo,
    ich lerne momentan den Umgang mit PHP und MySQL und dabei binn ich auf ein interessantes Detail gestoßen.

    In diversen Tutorials werden MySQL-Befehle mit "mysql" (z.B. mysql_query) begonnen in anderen werden sie mit "mysqli" (z.B. mysqli_query) begonnen.
    Beides scheint zu funktionieren.
    Jedoch wird in Notepad++ der "mysqli"-Befehl nicht in blauer Schrift dargestellt, der "mysql"-Befehl hingegen schon.

    Was mich nun interessiert ist: Wo genau besteht der Unterschied zwischen diesen beiden Schreibweisen, warum gibt es ihn und welchen sollte man am bessten verwenden?

    Also schreibt einfach alles rein was ihr dazu wisst.

    mfg, Michl
    notepad++ ist ein denkbar schlechtes beispiel für einen editor. und dass es hier der space nicht unnötig übergeht, hir kannst es lesen. niemand wird es hier besser erklären ;)
  4. h**s

    nun, meiner meinung nach ist mysqli eine neue "version" der php-funktionrn zum zugriff auf eine datenbank.

    neben dem erweiterten umfang der möglichkeiten wäre zu sagen das sich die mysql-php-funktionen eher an objetorientiertes-programmieren halten (natürlich kann man auch weiterhin prozedural programmieren).

    außerdem ist durch mysqli mehr sicherheit gegen injetion vorgegeben und man kann zb durch die "prepared-statements" interessante neue möglichkeiten für einen besseren workflow erreichen.

    gute dokumentation dazu:
    http://www.phpbuddy.eu/mysqli-erweiterung-php-5.html
  5. g****e

    MySQLi ist ausgeschrieben: MySQL Improved. Dies ist also eine Art verbessertes MySQL.
    MySQLi kannst du objektorientiert nutzen und es gibt prepared Statements. Diese prepared Statements sind das kernfeature. Sie machen die MySQL Handhabung einfacher und vor allem sicherer, weil du hiermit einfach SQL-Injections vorbeugen kannst.
    http://sateffen.bplaced.net/programmierung/prepared-statements-mit-mysqli.html
    http://sateffen.bplaced.net/programmierung/mysqli-vom-prepared-statement-zum-result.html
    Mit diesen 2 Links kommst du einmal die Torur von der Query des Statements bis hin zum Result. Für einfache Querys ohne prepared Statements kannst du dir MySQLi eig schenken, denn da ists das gleiche wie MySQL.

    Notepad++ ist eigentlich ein sehr guter Editor, du kannst allerdings vllt mal Scriplty http://scriptly.webocton.de/ dir anschauen, das ist auch ein sehr guter Editor, besonders für HTML, Javascript, CSS und PHP.

    Liebe Grüße
  6. Autor dieses Themas

    xxxparenjxxx

    xxxparenjxxx hat kostenlosen Webspace.

    Vielen Dank für die antworten :)

    Werde mich jetzt mal dransetzen und eure links durchforsten :)

    mfg, Michl
  7. Benutz auf jeden Fall MySQLi. Die alte MySQL-Erweiterung ist ab PHP 5.5 als veraltet markiert. Die Nutzung gibt dann jede Menge E_DEPRECATED-Fehler. Ab 5.6 oder 5.7 wird die Erweiterung dann komplett entfernt.

    Ich zitiere dazu auch mal die Doku:
    Die MySQL Erweiterung ist zwar kompatibel mit aktuellen MySQL Versionen, sie unterstützt aber nich mehr alle zusätzlichen Funktionalitäten die seit MySQL 4.1.0 hinzugekommen sind.

    http://www.php.net/manual/de/mysql.installation.php
    Diese Neuerungen werden nur noch mit MySQLi unterstützt.

    Die Umstellung ist grundsätzlich sehr einfach. Du musst nur alle mysql_* durch mysqli_* ersetzen. Du musst dabei nur beachten, dass die Verbindung (Rückgabe von mysqli_connect) jetzt ein Pflichtparameter für viele Funktionen ist.
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!