Connection à MySql avec PHP
Publié le 14 juillet 2015 | Par adminblog | Commenter
Se connecter à MySql méthode Old School !
Mieux utiliser PDO en 2015
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<?php // Déclaration des paramètres de connexion $host = "la_machine"; // Généralement la machine est localhost // c'est-a-dire la machine sur laquelle le script est hébergé $user = "votre_login"; $bdd = "Nom_de_la_base_de_donnees"; $passwd = "Mot_de_passe"; // Connexion au serveur mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur"); mysql_select_db($bdd) or die("erreur de connexion a la base de donnees"); /*connection établie si pas de message d'erreurs*/ ?> |
Une astuce consiste à travailler dans un jeu de caractères fixé COMME utf-8 qui est très universel. Votre éditeur de programmation (pspad,notepad++ …) doit toujours travailler encoder,coder en UTF-8 sans BOM puis il faut négocier entre PHP et MySql en utf-8 et définir le charset de votre HTML en utf-8. Vous n’aurez pas de problèmes avec les accents dans l’affichage ainsi que certains caractères spéciaux du HTML ou des HEADER ALREADY SENT sur OVH.
“Warning: Cannot modify header information – headers already sent by”
Exemple de problèmes resolus
Exemple de négociations PHP/MYSQL grâce au fichier de connection.
Explications depuis le manuel
La ligne importante est :
1 |
mysql_set_charset('utf8',$link); |
1 2 3 4 5 6 7 8 |
<?php $link = mysql_connect('localhost', 'user', 'password'); mysql_set_charset('utf8',$link); $db_selected = mysql_select_db('emp_feedback', $link); if (!$db_selected) { die ('Database access error : ' . mysql_error());} $query = "INSERT INTO feedback ( EmpName, Message ) VALUES ('$_empName','$_message')"; mysql_query($query) or die('Error, Feedback insert into database failed'); ?> |
On doit aussi faire ça si on utilise le driver PDO
EXPLICATION ICI :
http://php.net/manual/fr/pdo.construct.php
1 2 3 4 5 6 |
<?php $db = new PDO('mysql:host=myhost;dbname=mydb', 'login', 'password', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'')); ?> |
Discussion :
http://www.developpez.net/forums/d593205/logiciels/autres-logiciels/encodage-utf-8-notepadpp/
http://www.alsacreations.com/astuce/lire/34-charset-iso-8859-1-iso-8859-15-utf-8-lequel-choisir.html
http://www.w3.org/International/O-HTTP-charset.fr.php
Commentaires récents