Opération de requête de base de données en php
Tutoriels vidéo mysql associés recommandés : "Tutoriel mysql"
* 1. Opération de requête
* 2. Trois fonctions impliquées :
* 2-1 mysqli_query($db, $sql) : Exécuter l'instruction SQL et renvoyer l'ensemble de résultats
* 2-. 2. mysqli_errno($db) : Renvoie le code d'erreur de la dernière exécution de la fonction
* 2-3 mysqli_error($db) : Renvoie le message d'erreur de la dernière exécution de la fonction
*. 2-4. mysqli_num_rows($res) : renvoie le nombre d'enregistrements dans l'ensemble de résultats
* 2-5. mysqli_fetch_row($res) : renvoie un enregistrement dans un tableau d'index
*. 2-5. mysqli_fetch_assoc($res) : renvoie un enregistrement sous forme de tableau associatif
* 2-5. mysqli_fetch_array($res,MYSQLI_NUM) : renvoie un enregistrement sous forme de tableau d'index
*. 2-5. mysqli_fetch_array( $res,MYSQLI_ASSOC) : renvoie un enregistrement sous forme d'un tableau associatif
* 2-5. mysqli_fetch_array($res,MYSQLI_BOTH) : renvoie un enregistrement sous forme d'index et de tableau relationnel
.* 2-5 . mysqli_fetch_object($res) : Renvoie un enregistrement en mode objet
* mysqli_free_result($result);
* 2-4. Fermez la connexion de données actuelle
* 3. Étapes de requête :
* 3-1. Connectez-vous à la base de données
* 3-2. Préparez l'instruction SQL
* 3-3. Exécuter la requête * 3-4. Résultat de la détection * 3-5. S'il est sélectionné, renvoie l'ensemble de résultats * 3-. 5-1 S'il s'agit d'insertion/mise à jour/suppression : renvoie le nombre d'enregistrements concernés * 3-6 Fermez la connexion à la base de données //1 Connectez-vous à la base de données, exigez. n'est pas une fonction, il n'est pas nécessaire d'ajouter des crochetsdefine ('DB_HOST', 'localhost'); define ('DB_USER', 'root'); define ('DB_PASS', 'root'); define ('DB_NAME', 'php'); define ('DB_CHAR', 'utf8'); $db = @mysqli_connect(DB_HOST, DB_USER, DB_PASS); if (mysqli_connect_errno($db)) { exit('连接失败'.mysqli_connect_error($db)); } mysqli_select_db($db, DB_NAME); mysqli_set_charset($db, DB_CHAR);
$sql = "SELECT name,salary FROM staff"; $sql = "SELECT name AS 姓名,salary AS 工资 FROM staff WHERE age>90";
$result = mysqli_query($db, $sql); var_dump($result);die();
if (false != $result) { //这是写只是语义性更强 //如果结果集中存在记录,至少有一条 // if (mysqli_num_rows($result) > 0) { //mysqli_affected_rows($db)也可以完成同样的检测工作,注意参数是连接对象$db,不是结果集对象 if (mysqli_affected_rows($db) > 0) { // echo '共计:'.mysqli_num_rows($result).'条记录<br>'; echo '共计:'.mysqli_affected_rows($db).'条记录~~<br>';
while($row = mysqli_fetch_array($result, MYSQLI_NUM)){
while($row = mysqli_fetch_row($result)){
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
while($row = mysqli_fetch_assoc($result)){
while($row = mysqli_fetch_array($result, MYSQLI_BOTH)){
while($row = mysqli_fetch_array($result)){
while($row = mysqli_fetch_object($result)){ // var_export($row);//以字符串方式表示查询结查 //如果是对象,可以用指向符来访问 echo $row->name.'--'.$row->salary; echo '<hr>'; //以变量方式表示,表示的内容更加完整丰富 // var_dump($row); } } else { echo '没有符合条件的记录'; } //查询失败的处理方式 } else { //必须要用exit()或die()终止脚本执行,否则后面的语句还会执行并会报错 exit('查询失败'.mysqli_errno($db).':'.mysqli_error($db)); }
mysqli_free_result($result);
mysqli_close($db);