Uanset hvordan Zend formulerer det - politisk korrekt - så er det stadig en betingelse. I og med MySQL driveren udgår og erstattes af MySQLi, kan man notorisk ikke anbefale MySQL driveren. Derfor bliver "anbefalingen" at bruge en af to andre muligheder.
Skvadder/sludder eller ej, ser jeg det som, at når MySQL driveren udgår, bliver det hermed stillet som betingelse hvis du fortsat vil kunne forbinde til en MySQL database - dog med frit valg - at du må vælge mellem to muligheder. Ser du det som en anbefaling, er det fint. Jeg ser det dog stadig som en betingelse. Det er et spørgsmål om holdning.
der er sikkerhedsrisici ved ubehandlet værdier/data, brugt direkte i SQL queries, som prepared statements ikke imødegår. Hvilke?
Fordelen ved prep. statements er muligheden for statements med parametre. Parameterized statements lukker nogle af hullerne omkring brug af ubehandlet værdier i SQL. Ved ikke at benytte denne fordel, kan du gå i klassiske fælder, som opstår ved SQLI (f.eks. "AND 1=1;#"), typisk med ubehandlet data fra bruger input.
Til dine betragtninger vedr. performance, henholder jeg blot til mysql.com, Zend og egne (og såmænd også andres) erfaringer: I rigtig mange situationer er prepared statements (PDO eller MySQLI) væsentligt hurtigere end det gamle MySQL-API. I andre situationer er det marginalt langsommere.
Enten har jeg formuleret mig forkert, eller du må have misforstået min formulering.
Jeg mener dog at have forklaret hvorfor prep. statements er hurtigere, hvorfor jeg ikke forstå din misforståelse.
Jeg er enig i, at den gamle MySQL driver er langsommere end MySQLi. Det er netop derfor MySQLi blev skrevet. MySQLi er skrevet ind i PHP5, og er ikke længere er en extension som MySQL er til PHP4. Min formulering gik dog på at PDO_MYSQL er langsommere end MySQLi API. Forklaring kan findes i tidligere indlæg, men gentages gerne: Årsagen er at du benytter et abstraktionslag, frem for at gå direkte til kilden. Det er dog igen en opvejning, vil du have performance, eller vil du have kode der er nem at flytte.
Men i nogle enkeltstående situationer vinder du både hastighed og RAM.
Helt korrekt - og der er da ingen, som kan garantere, vi ikke kommer til dén diskusion en dag. I nærværende tråd kan vi dog nøjes med de forhold, som gør sig gældende for de situationer, vi taler om her.
I nærværende tråd, er det mindre relevant kontra andre problemstillinger.