Hallo,
Ich arbeite mich gerade durch ein paar PHP Lernbücher und
dabei ist mir aufgefallen das in dem einem Buch mit der
Funktion mysql und in einem anderen mit _mysql i _ gearbeitet
wird. Ich konnte nur geringe bis gar keine Unterschiede
feststellen. Wie in folgendem Beispiel:
mysqli_query(resource link, string query, [int resultmode])
mysql_query(string query, [resource link_identifier])
Was hat es mit den zwei Varianten auf sich?
Wie sigterm schon geschrieben hat, entwickelten sich
aus der alten bare metal-Variante mysql_NNN im
Laufe der Zeit verschiedene Ableger. Bei mysqli (i bedeutet
improved) versuchte man, das ganze „objektorientiert“
zu gestalten und PDO::mysql ist angelehnt an Perl’s DBI::mysql.
Nach meiner Erfahrung ist es dennoch besser verdaulich
(einfacher), das „alte“ mysql_NNN zu verwenden und dabei
prepared statements sowie das Maskieren von Sonderzeichen
von Hand zu machen. Und wenn es komplexer wird, PDO::mysql
verwenden. mysqli sieht mir eher nach „Übergangslösung“ aus.
Siehe auch: http://www.php.net/manual/en/mysqli.overview.php
und: http://bugs.php.net/bug.php?id=46808
Grüße
CMБ