Maison  >  Article  >  base de données  >  Comment implémenter une connexion à une base de données Mysql, une requête, un jeu d'enregistrements et d'autres opérations via PHP

Comment implémenter une connexion à une base de données Mysql, une requête, un jeu d'enregistrements et d'autres opérations via PHP

jacklove
jackloveoriginal
2018-06-08 10:30:251662parcourir

Dans le développement de sites Web PHP, il est souvent nécessaire d'exploiter la base de données Mysql. De manière générale, elle doit passer par les étapes suivantes : lien vers la base de données Mysql, requête dans la base de données Mysql, opération de jeu d'enregistrements Mysql, etc. répété à chaque fois, ce ne sera pas seulement fastidieux et la redondance du code est élevée, j'ai donc compilé certains codes qui utilisent PHP pour implémenter les opérations de base de données Mysql et les ai publiés sous forme de fonctions. Vous pouvez ajouter d'autres fonctions ou les intégrer dans Mysql. classes de base de données selon vos propres besoins.

Code de lien de la base de données MySQL

function dbConnect($hostname,$username,$pass,$db_name,$pconnect = 0)
{
$func = empty($pconnect) ? 'mysql_connect' : 'mysql_pconnect';
if(!$connect) {
$connect = @$func($hostname,$username,$pass) or die("Mysql_Error : ".mysql_error()."
Mysql Error Num : ".mysql_errno()."");
}
@mysql_select_db($db_name, $connect) or die(" Mysql_Error : ".mysql_error()."
Mysql Error Num : ".mysql_errno()."");
return $connect;
}

Remarque :

Les paramètres $hostname, $username, $pass et $db_name représentent respectivement l'adresse du serveur de base de données Mysql et le nom d'utilisateur. , le mot de passe et le nom de la base de données connectée. Généralement, le nom d'hôte est localhost ou 127.0.0.1. Le paramètre $pconnect est par défaut à 0, ce qui signifie que la fonction mysql_connect est généralement utilisée pour se connecter à la base de données Mysql.

Point de connaissance :

La différence entre mysql_connect et mysql_pconnect : Après avoir exécuté le programme PHP actuel, PHP ferme automatiquement la connexion à la base de données établie par mysql_connect, tandis que mysql_pconnect renvoie une connexion à la base de données durable et stable. peut être réutilisé lors de la prochaine demande de connexion dans le délai imparti, ce qui permet d'économiser le temps de connexion répétée à la base de données Mysql et d'accélérer l'accès. Il convient aux situations où le nombre d'accès simultanés n'est pas important. l'accès simultané est relativement important, cela peut être dû à Mysql Le nombre maximum de connexions a été atteint, empêchant les demandes ultérieures d'être satisfaites.

Fonction mysql_error : Renvoie le message d'erreur texte généré par l'opération Mysql précédente. La fonction mysql_errno renvoie le numéro d'erreur lors de l'opération Mysql précédente, ou 0 s'il n'y a pas d'erreur.

Code de requête de base de données Mysql

function query_error($query)
{
global $connect;
$temp_bar = "
=============================================================================
";
$result = mysql_query($query, $connect) or die("DB ERROR
".$temp_bar." Mysql_Query : ".$query."
Mysql_Error : ".mysql_error()."
Mysql Error Num : ".mysql_errno()."".$temp_bar);
return $result;
}

Remarque : Cette fonction est une fonction de requête de base de données Mysql, qui est équivalente à la fonction de la fonction mysql_query. Si une erreur se produit, un message d'erreur (. SQL) est généré. En fait, afin d'éviter d'exposer la structure de la base de données du site Web à un usage commercial formel, il est préférable de ne pas générer d'instructions d'exécution SQL.

Code de fonction d'opération de jeu d'enregistrements MySQL (mysql_fetch_array)

function fetch_array($result,$result_type = MYSQL_ASSOC,$records = "one")
{
if ($records == "one") {
return @mysql_fetch_array($result,$result_type);
}
else {
for ($i=0;num_rows($result);$i++)
{
$info[$i] = @mysql_fetch_array($result,$result_type);
}
free_result($result);
return $info;
}
}

Remarque : la fonction de cette fonction est dérivée de la fonction mysql_fetch_array Sur cette base, j'ai ajouté le jeu d'enregistrements de base de données Mysql Lire. fonction et renvoie la valeur obtenue sous forme de tableau.

Points de connaissance :

La fonction mysql_fetch_array est une version étendue de la fonction mysql_fetch_row. Le deuxième paramètre result_type a trois valeurs : MYSQL_ASSOC, MYSQL_NUM et MYSQL_BOTH. La valeur par défaut est MYSQL_BOTH. MYSQL_BOTH : obtenez un tableau contenant à la fois des index associatifs et numériques. MYSQL_ASSOC : Récupère uniquement l'index associé (comme mysql_fetch_assoc()), MYSQL_NUM : Récupère l'index numérique (comme mysql_fetch_row()).

Code de fonction de message d'erreur

function error_msg($msg, $url= "")
{
global $connect;
if($connect) {
mysql_close($connect);
}
switch ($url)
{
case "":
$url = "history.go(-1)";
break;
case "close":
$url = "window.close()";
break;
default:
$url = "document.location.href = '$url'";
break; 
}
if (!empty($msg)) {
echo "<script language=&#39;javascript&#39;>alert(&#39;$str&#39;);$url;</script>";
}
else{
echo "<script language=&#39;javascript&#39;>$url;</script>";
}
exit;
}

Remarque : La fonction de cette fonction est principalement de signaler les erreurs sous forme d'alerte et d'effectuer des sauts de page. Il s'agit d'une fonction générale avant de signaler une erreur. erreur ou saut, cela fera Pour fermer la connexion à la base de données Mysql, la fonction mysql_close est utilisée.

Instructions d'appel :

À partir du code de fonction de l'opération de base de données Mysql ci-dessus, nous pouvons voir que la variable $connect est une variable globale. Tout d'abord, placez les fonctions ci-dessus dans un fichier, tel. en tant que mysqlconnect .php, puis déclarez les variables pertinentes et attribuez des valeurs, et appelez cette fonction de connexion à la base de données Mysql après que la fonction dbConnect est déclarée, c'est-à-dire :

$hostname = "mysqlserveraddr";
$username = "yourusername";
$pass = "youruserpass";
$db_name = "yourdatabase";
$connect = dbConnect($hostname,$username,$pass,$db_name);

Grâce aux connexions à la base de données Mysql ci-dessus, aux requêtes de base de données et Opérations de jeu d'enregistrements de base de données Explication du code de fonction, les fonctions de base du fonctionnement de la base de données Mysql dans le développement de sites Web PHP ont été incluses. Si nécessaire, vous pouvez modifier ce code en classe de base de données Mysql ou utiliser PHP pour ajouter d'autres fonctions d'opération de base de données Mysql. .Plus connexe Pour des recommandations, veuillez consulter le site Web chinois php.

Recommandations associées :

Données temporelles de requête MYSQL

Comment utiliser la méthode de base de données pour enregistrer une session

Cinq façons d'empêcher l'injection SQL

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn