Fonctions MySQL (PDO_MYSQL) MySQL (PDO)
&reftitle.intro; PDO_MYSQL est un pilote qui implémente l'interface de PHP Data Objects (PDO) pour autoriser l'accès de PHP aux bases de données MySQL. PDO_MYSQL utilises des requêtes préparées émulées par défaut. MySQL 8 Si PHP est utilisé dans une version 7.1 antérieure à la version 7.1.16, ou PHP 7.2 antérieure à 7.2.4, le plugin de mot de passe doit être défini à mysql_native_password pour MySQL 8 Server, car sinon des erreurs similaires à The server requested authentication method unknown to the client [caching_sha2_password] peuvent apparaitre, même si caching_sha2_password n'est pas utilisé. Ceci est dû au fait que MySQL 8 utilise par défaut caching_sha2_password, un plugin qui n'est pas reconnu par les anciennes versions de PHP (mysqlnd). À la place il faut modifier le paramètre default_authentication_plugin=mysql_native_password dans my.cnf. Le plugin caching_sha2_password sera supporté dans une version future de PHP. En attendant, l'extension mysql_xdevapi le supporte. Prendre garde toutefois : certains types de tables MySQL (moteur d'enregistrement) ne supportent pas les transactions. Lorsque vous écrivez du code de base de données transactionnel en utilisant un type de table qui ne supporte pas les transactions, MySQL prétendra qu'une transaction était initiée correctement. De plus, toute requête DLL publiée enverra implicitement l'ensemble des transactions en attente. Le pilote MySQL ne supporte pas proprement PDO::PARAM_INPUT_OUTPUT via PDOStatement::bindParam; tandis que de tel paramètres peuvent être utilisé, il ne seront pas mis à jour (c.à.d. la sortie actuel est ignoré).
&reference.pdo-mysql.configure; &reference.pdo-mysql.constants; &reference.pdo-mysql.ini;
PDO_MYSQL DSN Connexion aux bases de données MySQL &reftitle.description; Le Data Source Name (DSN) de PDO_MYSQL est composé des éléments suivants : Préfixe DSN Le préfixe DSN est mysql:. host L'hôte sur lequel le serveur de base de données se situe. port Le numéro de port où le serveur de base de données est en train d'écouter. dbname Le nom de la base de données. unix_socket Le socket Unix MySQL (ne devrait pas être utilisé avec host ou port). charset Le jeu de caractères. Voir la documentation sur les concepts des jeux de caractères pour plus d'informations. &reftitle.examples; Exemples avec le DSN de PDO_MYSQL L'exemple suivant montre le DSN PDO_MYSQL pour se connecter aux bases de données MySQL : Exemples plus complets : &reftitle.notes; Unix seulement: Lorsque le nom d'hôte est "localhost", la connexion est faite par un socket Unix. Si PDO_MYSQL est compilé avec libmysqlclient, alors le fichier de socket est celui précisé à la compilation de libmysqlclient. Si PDO_MYSQL est compilé avec mysqlnd, un socket par défaut peut être indiqué via la paramètre pdo_mysql.default_socket.