Maison >développement back-end >tutoriel php >Description détaillée de PHP combiné avec MySQL
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"
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 :
Cliquez sur "MySQL Manager" dans l'image ci-dessus et sélectionnez MySQL-Front
L'interface suivante apparaît :
Après ouverture, vous entrerez dans l'interface officielle de la base de données.
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.
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 :
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 ?
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).
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
.
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.
Après avoir ajouté un nouvel utilisateur :
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 .
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,
Parfois, vous constaterez que l'exécution du fichier php ci-dessus affichera l'erreur indiquée dans la figure ci-dessous :
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.
La suppression de la base de données se fait également via mysql_query comme la création de la base de données.
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 :
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.
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.
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).
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
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!