Maison  >  Article  >  développement back-end  >  Description détaillée de PHP combiné avec MySQL

Description détaillée de PHP combiné avec MySQL

韦小宝
韦小宝original
2018-03-09 11:33:576143parcourir

Je crois que la base de données utilisée par de nombreux programmeurs PHP dans le développement PHP est la base de données mysql. Pourquoi diable le développement PHP devrait-il être combiné avec la base de données mysql ? jetez un œil et développez la combinaison de PHP et MySQL et pourquoi le développement PHP doit être combiné avec MySQL.

Tutoriels vidéo MySQL recommandés : "Tutoriel MySQL"                                                            

Partie 1 : Mes outils de candidature.

phpstudy : Ce package intègre les dernières versions d'Apache+PHP+MySQL+phpMyAdmin. Il peut être installé une seule fois et peut être utilisé sans configuration. Environnement de débogage PHP. Vous n'avez plus besoin de télécharger et d'installer php, mysql et appche séparément, c'est simple et pratique.
Découvrez d'abord l'étude php suivante :
Description détaillée de PHP combiné avec MySQL

Cliquez sur "MySQL Manager" dans l'image ci-dessus et sélectionnez MySQL-Front
Description détaillée de PHP combiné avec MySQL

L'interface suivante apparaît :
Après ouverture, vous entrerez dans l'interface officielle de la base de données.
Description détaillée de PHP combiné avec MySQL
C'est juste pour que tout le monde puisse voir le mysql suivant, et son fonctionnement spécifique sera discuté plus tard.

Dans cette partie, le principal problème que j'ai rencontré était que lorsque j'ai ouvert le localhost dans la figure 5, je n'ai pas pu me connecter à mysql. J'ai choisi de réinstaller phpstudy car il n'y en avait vraiment pas d'autre. chemin.

Partie 2 : Comprendre la relation entre php, apache et mysql.

Un client a acheté un livre dans une boutique en ligne. Après avoir reçu la demande, le propriétaire de la boutique en ligne se rendra chez le fabricant pour récupérer les marchandises et les enverra au fabricant. client.
L'organigramme est le suivant :

Description détaillée de PHP combiné avec MySQL
Nous savons d'après l'image ci-dessus que les clients et les propriétaires de magasins ne communiquent pas directement, mais échangent des données par l'intermédiaire du propriétaire du magasin, qui fournit des services de communication. . La relation entre php, apache et la base de données est comme la relation entre les clients, les commerçants et les fabricants. PHP a besoin d'une sorte de données et envoie la requête directement au serveur apache apache puis renvoie la requête à la base de données. La base de données extrait les données de réponse et les donne à <.>apache Le serveur, apache l'envoie ensuite à PHP.
1. Pourquoi PHP et la base de données ne peuvent-ils pas communiquer directement et doivent passer par Apache ?

Par exemple : PHP et la base de données sont comme deux personnes de nationalités différentes. Le premier vient de Chine et le second vient des États-Unis. La barrière de la langue rend la communication problématique. , sans parler de parler de faire des affaires. Il existe une personne nommée Apache, qui comprend à la fois le chinois et l'anglais. Il traduit les exigences de PHP en anglais et indique à la base de données qu'elle récupère les produits correspondants et les remet à Apache, qui les remet ensuite à PHP.


Les données du langage PHP et de la base de données ne peuvent pas se reconnaître et doivent être converties via Apache.
Pourquoi Apache ne peut-il pas être à la fois un serveur et une base de données ? C'est moins. Ne serait-il pas plus facile de faire un seul lien ? Ceci est conçu pour résoudre le problème de la division rationnelle du travail.
Si vous fusionnez Apache avec la base de données, cela équivaudra à ce qu'Apache soit à la fois propriétaire de magasin et fabricant, ce qui augmentera considérablement la charge de travail du serveur Apache. Lorsque les données sont petites, Apache peut toujours les supporter. Lorsque les données sont volumineuses, Apache doit supporter le travail de transport et de gestion de l'entrepôt de l'usine. Il est préférable de laisser le transport et la gestion de l'entrepôt. travailler à l'usine.

base de données mysql (base de données) Il existe de nombreuses bases de données dans le monde, et mysql est la plus populaire.
MySQL est un système de gestion de
base de données relationnelle développé par la société suédoise MySQL AB et appartient actuellement à Oracle. MySQL est un système de gestion de bases de données relationnelles. Une base de données relationnelle stocke les données dans différentes tables au lieu de regrouper toutes les données dans un seul grand entrepôt, ce qui augmente la vitesse et la flexibilité. (La base de données MySQL équivaut à classer les marchandises et à les placer dans différents entrepôts. Chaque entrepôt est une petite base de données et l'usine est une grande base de données. Cela facilite l'accès aux marchandises. Si les marchandises ne sont pas classées et stockées , ce sera très difficile. Évidemment, l’efficacité du stockage sera considérablement réduite).

Caractéristiques du SGBDR (Système de gestion de base de données relationnelle) :

1 Les données apparaissent sous forme de tableaux
2. Chaque ligne a différents noms d'enregistrement
3. Chaque colonne est le champ de données correspondant au nom de l'enregistrement
4 De nombreuses lignes et colonnes forment un formulaire
Plusieurs formulaires forment une base de données
.

Partie 3 : Utiliser php pour faire fonctionner la base de données MySQL

Utiliser le script php Connexion à la base de données

PHP fournit la fonction mysql_connect() pour se connecter à la base de données. Cette fonction possède 5 paramètres, généralement nous n'utilisons que les 3 premiers.

这里你也许会问,php可以连接数据库那appache干什么去了。
这里说明一下,apache是一个服务器,其构筑了一个php和数据库可以沟通的环境.php和数据库这两个讲不同语言的人打电话,
通过apache这个同声翻译系统进行沟通

. server spécifie le serveur auquel se connecter. Peut inclure un numéro de port, tel que "hostname:port", ou un chemin d'accès à un socket local, tel que ":/path/to/socket" pour localhost.
Si la directive PHP mysql.default_host n'est pas définie (le cas par défaut), la valeur par défaut est 'localhost:3306'.
. nom d'utilisateur. La valeur par défaut est le nom d'utilisateur du propriétaire du processus serveur.
. mot de passe Mot de passe. La valeur par défaut est un mot de passe vide.

php mysql_close est utilisé pour se déconnecter de la base de données mysql. Dans des circonstances normales, le script se déconnectera automatiquement après son exécution, cette phrase n'a donc pas besoin d'être écrite. Cependant, mysql_close() ne ferme pas une connexion persistante établie par mysql_pconnect().
Connectez-vous à la base de données :

<?php
header("content-type:text/html;charset=utf-8");
$servername = "127.0.0.1";//服务器主机地址
$username = "root";//访问数据库的用户名
 $password = "root";//访问数据库的密码
 //phpstudy的mysql有一个默认用户名(root)和密码(root)

// 创建连接
$conn = mysql_connect($servername, $username,$password);

// 检测连接
if (!$conn) {
    die("Connection failed: " . mysql_connect_error());//die()输出一条消息,然后断开
连接。
}
echo "连接成功";
mysql_close($conn);//关闭连接。
?>

La base de données n'est pas accessible à tout le monde, seules les personnes ayant l'autorisation peuvent y accéder. Ensuite, je montrerai comment ajouter des utilisateurs à l'aide de l'outil mysql-front.

Description détaillée de PHP combiné avec MySQL
Après avoir ajouté un nouvel utilisateur :

Description détaillée de PHP combiné avec MySQL
Utilisez le nouvel utilisateur pour accéder à :

<?php
header("content-type:text/html;charset=utf-8");
$servername = "127.0.0.1";//服务器主机地址
$username = "sunwukong";//访问数据库的用户名
 $password = "jingubang";//访问数据库的密码
 //phpstudy的mysql有一个默认用户名(root)和密码(root)

// 创建连接
$conn = mysql_connect($servername, $username,$password);

// 检测连接
if (!$conn) {
    die("Connection failed: " . mysql_connect_error());//die()输出一条消息,然后断开连接。
}
echo "连接成功";
mysql_close($conn);//关闭连接。
?>

La connexion est réussie .

2. Créer une base de données

php utilise mysql_query (sql, connexion) pour créer ou supprimer une base de données. mysql_query() envoie l'instruction de requête de recherche SQL à la base de données via la connexion établie. Après avoir lu la base de données, répondez à l'opération correspondante.

<?php
header("content-type:text/html;charset=utf-8");
$servername = "127.0.0.1";//服务器主机地址
$username = "sunwukong";//访问数据库的用户名
 $password = "jingubang";//访问数据库的密码
 //phpstudy的mysql有一个默认用户名(root)和密码(root)

// 创建连接
$conn = mysql_connect($servername, $username,$password);

// 检测连接
if (!$conn) {
    die("Connection failed: " . mysql_connect_error());//die()输出一条消息,然后断开连接。
}
echo "连接成功";
echo "</br>";
$sql = "CREATE DATABASE zhubajie";//CREATE DATABASE是sql语言中创建数据库的语句,这里是一个创建名为“zhubajie”
的数据库的字符串。
$dingpa = mysql_query($sql,$conn);//将$sql查询语句发送给数据库。
if (!$dingpa) {
    die("创建数据库失败:".mysql_error());
}
echo "创建成功";
mysql_close($conn);//关闭连接。
?>

Après l'exécution,
Description détaillée de PHP combiné avec MySQL

Parfois, vous constaterez que l'exécution du fichier php ci-dessus affichera l'erreur indiquée dans la figure ci-dessous :

Description détaillée de PHP combiné avec MySQL
La raison de cette erreur est que vous accédez à la base de données via $username = « sunwukong » ; et cet utilisateur n'a pas reçu d'autorisations lors de sa création dans MySQL.

Description détaillée de PHP combiné avec MySQL

3. Suppression de la base de données

La suppression de la base de données se fait également via mysql_query comme la création de la base de données.

Description détaillée de PHP combiné avec MySQL

4. Créer des données de table de données

Description détaillée de PHP combiné avec MySQL

Nous allons créer une table nommée "MyGuests" avec 5 colonnes : " id", "firstname", "lastname", "email" et "reg_date" :
Créer la table de données MyGuests :

CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)

est affiché dans la table de données comme suit :

1Description détaillée de PHP combiné avec MySQL

Ici, vous devez faire attention à la ligne d'en-tête du tableau affiché par le navigateur d'objets, qui spécifie le type de données et d'autres attributs.

Description détaillée de PHP combiné avec MySQL
L'image ci-dessus est un tableau de données spécifique.
Regardons le code spécifique ci-dessous :

Dans les premières versions de PHP, nous utilisons l'extension MySQL. Cependant, cette extension est devenue obsolète en 2012. Au lieu de cela, l'extension mysqli et PDO sont utilisés. Personnellement, j'utilise l'extension mysqli. L'extension mysqli est une extension de l'extension mysql. Il n'y a aucune différence d'utilisation entre les deux, mais la première est plus puissante que la seconde. Ce qui suit utilise la méthode de codage orientée processus de mysqli (il dispose également d'une méthode de codage orientée objet) pour faire fonctionner mysql. Vous pouvez le comparer avec la méthode de codage étendue MySQL ci-dessus.

1Description détaillée de PHP combiné avec MySQL

1Description détaillée de PHP combiné avec MySQL

AUTO INCREMENT - Définissez la valeur du champ MySQL pour qu'elle augmente automatiquement de 1 à chaque fois qu'un nouvel enregistrement est ajouté
PRIMARY KEY - Définissez l'identifiant unique de chaque enregistrement dans la table de données. Généralement, la PRIMARY KEY de la colonne est définie sur la valeur ID, utilisée avec AUTO_INCREMENT. Chaque table doit avoir une clé primaire (cette colonne est la colonne "zhubajie_t") et la clé primaire doit contenir une valeur unique. (Vous ne comprenez peut-être pas bien cela, mais cela viendra plus tard)

NON NULL - Chaque ligne doit contenir une valeur (ne peut pas être vide), et les valeurs nulles ne sont pas autorisées.
Valeur PAR DÉFAUT - définir la valeur par défaut
UNSIGNED - Utilisez des types numériques non signés, 0 et des nombres positifs
Les trois attributs ci-dessus peuvent être ajoutés à la colonne ainsi que le type de données de la colonne spécifiée. (Comprenons-le bien ici).

5. Supprimer les données de la table

Description détaillée de PHP combiné avec MySQL

En fait, PHP combiné au développement MySQL est depuis longtemps une habitude, tout comme les hommes et les femmes, de bien sûr, il y a des circonstances particulières.

Recommandations associées :

Résumé de l'optimisation de la base de données MySQL

MySQL Par exemple , laissez-moi vous aider à comprendre les réglementations militaires de ces bases de données

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