Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
mysql [2019/08/13 17:57]
elodie [Quota MySQL]
mysql [2019/11/15 10:51] (Version actuelle)
elodie [Se connecter au serveur MySQL depuis son site]
Ligne 32: Ligne 32:
 <?php <?php
    
-// remplacer ​nomdebase ​par le nom de votre base SQL+// remplacer ​demo-db1 ​par le nom de votre base SQL 
 +// remplacer demo par votre nom d'​utilisateur
 // remplacer password par votre mot de passe // remplacer password par votre mot de passe
 +// et adaptez le code PHP à votre besoin
    
 $host = '​sql.franceserv.com'; ​ $host = '​sql.franceserv.com'; ​
 $base = '​demo-db1';​ $base = '​demo-db1';​
-$login = '​demo';​ +$user = '​demo';​ 
-$pwd = '​password';​+$pass = '​password';​
    
-// Connexion au serveur+/
 +La fonction PHP mysql_connect() connue depuis des dizaines d'​années n'est plus à 
 +utiliser comme l'​indique la page officielle https://​www.php.net/​manual/​fr/​function.mysql-connect.php est obsolète 
 +depuis la version 5.5.0 et a été supprimée en PHP 7.0.0. 
 + 
 +Ils recommandent d'​utiliser les deux méthodes suivantes à la place : 
 + 
 +    mysqli_connect() 
 +    PDO::​__construct() 
 + 
 +Personnellement,​ on vous propose d'​utiliser PDO mais comme il y a un peu plus de 
 +lignes à écrire dans le code PHP, vous pouvez créer et réutiliser les 4 fonctions 
 +suivantes dans votre code : 
 +*/  
 + 
 +function unstrip_array($array) 
 +  { 
 +  foreach($array as &​$val) 
 +    { 
 +    if(is_array($val)) 
 +      { 
 +      $val = unstrip_array($val);​ 
 +      }else{ 
 +      $val = stripslashes($val);​ 
 +      } 
 +    } 
 +  return $array; 
 +  } 
 + 
 +function fsh_pdo_query($query,​ $data=''​) 
 +  { 
 +  global $pdo; 
 +  if(empty($data)) 
 +    { 
 +    $sth = $pdo->​query($query);​ 
 +    }else{ 
 +    $data = unstrip_array($data);​ 
 +    $sth = $pdo->​prepare($query);​ 
 +    $sth->​execute($data);​ 
 +    } 
 +  return $sth; 
 +  }
    
-$db = mysql_connect($host, $login, $pwd); +function fsh_pdo_fetch($query
-  +  { 
-// On test le retour de la connexion +  ​global $pdo; 
-  +  if(!empty($query)
-if(!$db+    
-+    $sth = $query->​fetch(); 
-  // on affiche un message d'​erreur : +    } 
-  print "​Désolé,​ connexion impossible à [$host] : "​.mysql_error(); +  ​return $sth
-  ​exit+  
-+ 
-  +function fsh_pdo_commit() 
-// On choisit la bonne base +  
-  +  ​global $pdo; 
-if(!mysql_select_db($base,​$db)+  ​try 
-+    { 
-  ​// on affiche un message d'​erreur : +    ​$pdo->commit(); 
-  ​print "​Désolé,​ la base de données [$base] n'as pas été trouvé sur le serveur [$host]<​br>"​.mysql_error(); +    ​}catch ​(PDOException ​$e){ 
-  ​mysql_close($db); +    ​echo('​Problème SQL')
-  exit+    } 
-+  ​
-  + 
-// On suppose que vous avez une table 'toto' : +/* Nous utilisons un try{} PHP afin de gérer les messages d'​erreurs proprement et 
-  +éviter ​une exécution partielle du code SQL si le traitement s'arrête avant la fin 
-$sql = "SELECT ​FROM toto";​ +du script pour n'importe quelle raison. */ 
-  + 
-// Une requête qui retourne une erreur si vous n'avez pas de table 'toto+try 
-  +      { 
-if(!mysql_query($sql,$db)) +      $pdo = new PDO('​mysql:host='​.$host.';​dbname='​.$base,​ $user, $pass, 
-{ +             array(PDO::​ATTR_PERSISTENT => true)); 
-  // on affiche un message d'erreur : +      $sql = 'SELECT ​telephone ​FROM `'.$base.'`.repertoire_telephonique WHERE nom = :nom AND prenom = :prenom;'; 
-  ​print ​"erreur sur la requête ​$sql dans la base [$base] du serveur ​[$host]<br>".mysql_error();​ +      $sql = fsh_pdo_query($sql, ​array(':​nom'​ => $POST['​nom'​],​ ':​prenom'​ => $POST['​prenom'​])); 
-  mysql_close($db); +      $data = fsh_pdo_fetch($sql);​ 
-  exit; +      ​$telephone = $data['telephone'​];​ 
-} +      echo("Le numéro de téléphone de ".$POST['​prenom'​]."​ ".$POST['​nom'​]." est : ".$telephone); 
-  + 
-// analyse ​de la requête +// On vas changer ce numéro ​de téléphone par un nouveau 
-// ... + 
-  +      $sql = '​UPDATE `'.$base.'`.repertoire_telephonique SET telephone = :​nouveau_numero WHERE telephone = :​ancien_telephone;';​ 
-// on ferme la connexion ​à la base +      $sql = fsh_pdo_query($sql,​ array(':​nouveau_numero'​ => '​0123456789',​ ':​ancien_telephone'​ => $telephone));​ 
-  +   ​ 
-mysql_close($db); +/* On applique tous les changements SQL à l'aide d'un COMMIT qui confirme que la 
-  +page s'est exécuté entièrement jusqu'à la fin. */ 
-?>+   ​ 
 +      ​fsh_pdo_commit(); 
 + 
 +      }catch(Exception ​$e){ 
 +      die("​Problème connexion SQL : "​.$e->​getCode()."​ : "​.$e->​getMessage()); 
 +      ​exit();​ 
 +      } 
 +   ​ 
 +?> 
 </​code>​ </​code>​
  
 
mysql.1565711859.txt.gz · Dernière modification: 2019/08/13 17:57 par elodie
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki