PDO_MYSQL is een driver die de PHP Data Objects (PDO)-interface implementeert om toegang van PHP tot MySQL-databases mogelijk te maken. Bij het uitvoeren van een PHP-versie vóór 7.1.16, of PHP 7.2 vóór 7.2.4, stelt u de standaardwachtwoordplug-in van MySQL 8 Server in op mysql_native_password, anders ziet u fouten die vergelijkbaar zijn met De door de server aangevraagde authenticatiemethode onbekend voor de client [caching_sha2_password], zelfs wanneer caching_sha2_password het is niet gebruikt. Dit komt omdat MySQL 8 standaard caching_sha2_password gebruikt, een plug-in die niet wordt herkend door de oudere PHP-releases (mysqlnd). Wijzig het in plaats daarvan door in te stellen. De plug-in caching_sha2_password wordt ondersteund in een toekomstige PHP-release. In de tussentijd ondersteunt de mysql_xdevapi-extensie het wel. Waarschuwing Pas op: sommige MySQL-tabeltypen (opslagengines) ondersteunen geen transacties. Bij het schrijven van transactionele databasecode met behulp van een tabeltype dat geen transacties ondersteunt, zal MySQL doen alsof een transactie met succes is gestart. Bovendien zullen alle verzonden DDL-query's impliciet alle lopende transacties impliceren. De MySQL-driver ondersteunt niet goed via PDOStatement::bindParam terwijl dergelijke parameters kunnen worden gebruikt, ze worden niet bijgewerkt (d.w.z. de daadwerkelijke uitvoer wordt genegeerd) De gebruikelijke Unix-distributies bevatten binaire versies van PHP die kunnen worden geïnstalleerd. Hoewel deze binaire versies doorgaans worden gebouwd met ondersteuning voor de MySQL-extensies, moeten de extensiebibliotheken zelf mogelijk worden geïnstalleerd met behulp van een extra pakket. Controleer de pakketbeheerder die bij de door u gekozen distributie wordt geleverd voor beschikbaarheid. Op Ubuntu installeert het pakket bijvoorbeeld de ext/mysql, ext/mysqli en PDO_MYSQL PHP-extensies. Op CentOS installeert het pakket ook deze drie PHP-extensies. U kunt deze extensie ook zelf samenstellen. Door PHP vanaf de bron te bouwen, kunt u de MySQL-extensies specificeren die u wilt gebruiken, evenals uw keuze van de clientbibliotheek voor elke extensie. Gebruik bij het compileren --with-pdo-mysql[=DIR] om de PDO MySQL-extensie te installeren, waarbij de optionele MySQL-basisbibliotheek is. Mysqlnd is de standaardbibliotheek. Zie Een MySQL-bibliotheek kiezen voor meer informatie over het kiezen van een bibliotheek. Optioneel stelt de --with-mysql-sock[=DIR] de locatie in op de MySQL unix socket pointer voor alle MySQL-extensies, inclusief PDO_MYSQL. Indien niet opgegeven, worden de standaardlocaties doorzocht. Optioneel wordt --with-zlib-dir[=DIR] gebruikt om het pad naar het libz-installatievoorvoegsel in te stellen. SSL-ondersteuning wordt ingeschakeld met behulp van de juiste PDO_MySQL-constanten, wat overeenkomt met het aanroepen van de ÃÂû MySQL C API-functie mysql_ssl_set Ook kan SSL niet worden ingeschakeld met PDO::setAttribute omdat de verbinding al bestaat. Zie ook de MySQL-documentatie over ÃÂû verbinding maken met MySQL met SSL De onderstaande constanten worden door deze driver gedefinieerd en zijn alleen beschikbaar als de extensie is gecompileerd in PHP of dynamisch is geladen tijdens runtime. Bovendien mogen deze stuurprogrammaspecifieke constanten alleen worden gebruikt als u dit stuurprogramma gebruikt. Het gebruik van stuurprogrammaspecifieke kenmerken met een ander stuurprogramma kan leiden tot onverwacht gedrag. PDO::getAttribute() kan worden gebruikt om het attribuut te verkrijgen om het stuurprogramma te controleren, als uw code tegen meerdere stuurprogramma's kan worden uitgevoerd. op a gebruikt de MySQL-driver de gebufferde versies van de MySQL API. Als u draagbare code schrijft, moet u in plaats daarvan gebruiken. Als dit attribuut is ingesteld op a, gebruikt de MySQL-driver de gebufferde versies van de MySQL API. Als u draagbare code schrijft, moet u in plaats daarvan gebruiken. Voorbeeld #1 Forceren dat query's worden gebufferd in mysql "mijn applicatie werkt alleen met mysql; ik zou in plaats daarvan \$stmt->fetchAll() moeten gebruiken"Let op, deze constante kan alleen in de array worden gebruikt bij het construeren van een nieuwe databasehandle. Maakt het mogelijk om het laden van LOKALE GEGEVENS te beperken tot bestanden die zich in deze aangewezen map bevinden. Beschikbaar vanaf PHP 8.1.0. Let op, deze constante kan alleen in de array worden gebruikt bij het construeren van een nieuwe databasehandle. Opdracht om uit te voeren bij verbinding met de MySQL-server. Wordt automatisch opnieuw uitgevoerd bij opnieuw verbinden. Let op, deze constante kan alleen in de array worden gebruikt bij het construeren van een nieuwe databasehandle. Lees opties uit het benoemde optiebestand in plaats van uit . Deze optie is niet beschikbaar als mysqlnd wordt gebruikt, omdat mysqlnd de mysql-configuratiebestanden niet leest. Lees opties van de benoemde groep van of het bestand gespecificeerd met . Deze optie is niet beschikbaar als mysqlnd wordt gebruikt, omdat mysqlnd de mysql-configuratiebestanden niet leest. Maximale buffergrootte. Standaard ingesteld op 1 MiB. Deze constante wordt niet ondersteund wanneer deze wordt gecompileerd tegen mysqlnd. Retourneert het aantal gevonden (overeenkomende) rijen, niet het aantal gewijzigde rijen. Het bestandspad naar de SSL-certificaatautoriteit. Het bestandspad naar de directory die de vertrouwde SSL CA-certificaten bevat, die zijn opgeslagen in PEM-indeling. Het bestandspad naar het SSL-certificaat. Een lijst met een of meer toegestane cijfers om te gebruiken voor SSL-codering, in een indeling die wordt begrepen door OpenSSL. Bijvoorbeeld: het bestandspad naar de SSL-sleutel. Biedt een manier om de verificatie van het SSL-certificaat van de server uit te schakelen. Deze bestaat vanaf PHP 7.0.18 en PHP 7.1.4. Schakelt de uitvoering van meerdere query's uit in zowel PDO::prepare() als PDO::query() wanneer ingesteld op . Let op, deze constante kan alleen in de array worden gebruikt bij het construeren van een nieuwe databasehandle Het gedrag van deze functies wordt beïnvloed door instellingen in . Voor meer details en definities van de PHP_INI_*-modi, zie de Voor meer details en definities van de PHP_INI_*-modi, zie Waar een configuratie-instelling kan worden ingesteld Stelt een Unix-domeinsocket in. Deze waarde kan tijdens het compileren worden ingesteld als er een domeinsocket wordt gevonden bij de configuratie. Deze ini-instelling is alleen Unix. Maakt foutopsporing voor PDO_MYSQL mogelijk. Deze instelling is alleen beschikbaar wanneer PDO_MYSQL is gecompileerd tegen mysqlnd en in PDO debug-modus.