Table des matières
其实今天没有欲望..-MySQLi,欲望..-MySQLi
Maison développement back-end tutoriel php 其实今天没有欲望..-MySQLi,欲望..-MySQLi_PHP教程

其实今天没有欲望..-MySQLi,欲望..-MySQLi_PHP教程

Jul 12, 2016 am 09:03 AM
midi de

其实今天没有欲望..-MySQLi,欲望..-MySQLi

  hi

中午爽爽的游了会儿泳,但是下午把一拳超人看完了,竟然萌生不出学习的欲望了。。。强迫自己更新点东西吧,一会儿看书去。

1、MySQLi

二、MySQLi基于OOP的编程

2.1 使用解析

--基本

MySQLi是一个拓展类库,本质上是个类(?)。

一般流程和MySQL一样:连接,选库,字符集设定,SQL语句执行,关闭连接

--链接库例子

/*
* 连接和选库
*/
$mysqli=new mysqli('localhost', 'root', '');
print_r($mysqli);echo "
";

echo $mysqli->select_db('test');echo "
";

$mysqli2=new mysqli();
print_r($mysqli2->connect('localhost', 'root', ''));echo "
";

print_r($mysqli3=new mysqli('localhost', 'root', '','test'));echo "
";

三种不同的方法,这里的方法都是利用mysqli的类属性来做的;当然也可以利用mysqli的命令来链接;

$con=mysqli_connect(HOST,USERNAME,PASSWORD)

结果中有一些信息

mysqli Object
  (
  [affected_rows] => 0
  [client_info] => mysqlnd 5.0.11-dev - 20120503 - $Id: bf9ad53b11c9a57efdb1057292d73b928b8c5c77 $
  [client_version] => 50011
  [connect_errno] => 0
  [connect_error] =>
  [errno] => 0
  [error] =>
  [error_list] => Array
  (
  )
   
  [field_count] => 0
  [host_info] => localhost via TCP/IP
  [info] =>
  [insert_id] => 0
  [server_info] => 5.6.17
  [server_version] => 50617
  [stat] => Uptime: 968 Threads: 1 Questions: 24 Slow queries: 0 Opens: 70 Flush tables: 1 Open tables: 63 Queries per second avg: 0.024
  [sqlstate] => 00000
  [protocol_version] => 10
  [thread_id] => 11
  [warning_count] => 0
  )

这些属性都是可以通过对象的属性来得到的,比如

echo $mysqli->client_info;echo "
";

或者是通过相对应的方法得到,这些东西查手册可以看到。

header('content-type:text/html;charset=utf-8');
//1.建立到MySQL数据的连接
// $mysqli=new mysqli('localhost','root','root');
// //print_r($mysqli);
// //2.打开指定的数据库
// $mysqli->select_db('test');
// $mysqli=new mysqli();
// $mysqli->connect('127.0.0.1','root','root');
// print_r($mysqli);

//建立连接的同时打开指定数据库
$mysqli=@new mysqli('localhost','root','root','test');
//print_r($mysqli);
//$mysqli->connect_errno:得到连接产生的错误编号
//$mysqli->connect_error:得到连接产生的错误信息
if($mysqli->connect_errno){
die('Connect Error:'.$mysqli->connect_error);
}
print_r($mysqli);
echo '


';
echo '客户端的信息:'.$mysqli->client_info.'
';
echo $mysqli->get_client_info().'
';
echo '客户端的版本:'.$mysqli->client_version.'
';
echo '
';
echo '服务器端信息:'.$mysqli->server_info.'
';
echo $mysqli->get_server_info();
echo '
';
echo '服务器版本:'.$mysqli->server_version.'
';

echo '


';

--字符集例子

//1.建立到MySQL的连接
$mysqli=@new mysqli('localhost','root','root','test');
if($mysqli->connect_errno){
die('Connect Error:'.$mysqli->connect_error);
}
//2.设置默认的客户端编码方式utf8
$mysqli->set_charset('utf8');

//3.执行SQL查询
$sql= CREATE TABLE IF NOT EXISTS mysqli(
id TINYINT UNSIGNED AUTO_INCREMENT KEY,
username VARCHAR(20) NOT NULL
);
EOF;
$res=$mysqli->query($sql);
var_dump($res);

/*
SELECT/DESC/DESCRIBE/SHOW/EXPLAIN执行成功返回mysqli_result对象,执行失败返回false
对于其它SQL语句的执行,执行成功返回true,否则返回false
*/
//关闭连接
$mysqli->close();

需要注意的是数据库中的是utf8,而不是utf-8;

2.2 插入记录操作

增。

--connect.php

因为连接数据库的一系列操作是常用的,对于这种,我们简便的方法就是封装起来,到处调用

require_once 'connect.php';

connect.php

/*
* 连接和选库(头)文件
*/
$mysqli=new mysqli('localhost', 'root', '','test');
if($mysqli->connect_errno){
die('Connect Error:'.$mysqli->connect_error);
}else{
echo '客户端的信息:'.$mysqli->client_info.'
';
}
$mysqli->set_charset('utf8');

--增

/*
* 数据库插入数据
*/

require_once 'connect.php';

$sql="insert mysqli(username) value('Tom')";
echo $mysqli->query($sql);

这里执行的是单条的sql语句。

或者完善一点,添加一个判断,并输出错误信息。

if($res){
echo $mysqli->insert_id;
}else{
echo 'ERROR '.$mysqli->error;
}

或者,插入多条记录

$sql="insert mysqli(username) value('Sdaf'),('Andy')";

2.3 更新记录

更新。

$sql="update test set id=id+10";
$mysqli->query($sql);

2.4 删除

$sql="delete from mysqli where id>=2";

--

特别说明,affected_rows返回的情况有三种:

-1  sql语句有问题;

0 没有受影响的语句;

>=0 受影响的条数。

--小结

header('content-type:text/html;charset=utf-8');
$mysqli=new mysqli('localhost','root','root','test');
if($mysqli->connect_errno){
die('CONNECT ERROR:'.$mysqli->connect_error);
}
$mysqli->set_charset('utf8');

//执行SQL查询
//添加记录
//执行单条SQL语句,只能执行一条SQL语句
// $sql="INSERT user(username,password) VALUES('king','king');";
// $sql.="DROP TABLE user;";
$sql="INSERT user(username,password) VALUES('queen1','queen1'),('queen2','queen2'),('queen3','queen3'),('queen4','queen4')";
$res=$mysqli->query($sql);
if($res){
//得到上一插入操作产生的AUTO_INCREMENT的值
echo '恭喜您注册成功,您是网站第'.$mysqli->insert_id.'位用户
';
//得到上一步操作产生的受影响记录条数
echo '有'.$mysqli->affected_rows.'记录被影响';
}else{
//得到上一步操作产生的错误号和错误信息
echo 'ERROR '.$mysqli->errno.':'.$mysqli->error;
}
echo '


';

//将表中年龄+10
$sql="UPDATE user SET age=age+10";
$res=$mysqli->query($sql);
if($res){
echo $mysqli->affected_rows.'条记录被更新';
}else{
echo "ERROR ".$mysqli->errno.':'.$mysqli->error;
}
echo '


';

//将表中id$sql="DELETE FROM user WHERE id$res=$mysqli->query($sql);
if($res){
echo $mysqli->affected_rows.'条记录被删除';
}else{
echo "ERROR ".$mysqli->errno.':'.$mysqli->error;
}
//关闭到MySQL的连接
$mysqli->close();

2.5 查

需要注意的是,用的是select,所以返回的是结果集,是可以打印出来的print_r或var_dump。

所以这里就要说一下,返回的结果集的选择了。

header('content-type:text/html;charset=utf-8');
$mysqli=new mysqli('localhost','root','root','test');
if($mysqli->connect_errno){
die('CONNECT ERROR:'.$mysqli->connect_error);
}
$mysqli->set_charset('utf8');
$sql="SELECT id,username,age FROM user";
$mysqli_result=$mysqli->query($sql);
//var_dump($mysqli_result);
if($mysqli_result && $mysqli_result->num_rows>0){
//echo $mysqli_result->num_rows;
//$rows=$mysqli_result->fetch_all();//获取结果集中所有记录,默认返回的是二维的
//索引+索引的形式
//$rows=$mysqli_result->fetch_all(MYSQLI_NUM);
//$rows=$mysqli_result->fetch_all(MYSQLI_ASSOC);
//$rows=$mysqli_result->fetch_all(MYSQLI_BOTH);
// $row=$mysqli_result->fetch_row();//取得结果集中一条记录作为索引数组返回
// print_r($row);
// echo '


';
// $row=$mysqli_result->fetch_assoc();//取得结果集中的一条记录作为关联数组返回
// print_r($row);
// echo '
';
// $row=$mysqli_result->fetch_array();//二者都有的
// print_r($row);

// echo '
';
// $row=$mysqli_result->fetch_array(MYSQLI_ASSOC);
// print_r($row);

// echo '
';
// $row=$mysqli_result->fetch_object();
// print_r($row);
// echo '
';
// //移动结果集内部指针
// $mysqli_result->data_seek(0);
// $row=$mysqli_result->fetch_assoc();
// print_r($row);

// print_r($rows);

while($row=$mysqli_result->fetch_assoc()){
//print_r($row);
//echo '


';
$rows[]=$row;
}
print_r($rows);

//释放结果集
$mysqli_result->free();


}else{
echo '查询错误或者结果集中没有记录';
}
$mysqli->close();

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1079207.htmlTechArticle其实今天没有欲望..-MySQLi,欲望..-MySQLi hi 中午爽爽的游了会儿泳,但是下午把一拳超人看完了,竟然萌生不出学习的欲望了。。。强迫自己...
Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment configurer la fonction de démarrage du clavier sur une carte mère GIGABYTE (activer le mode de démarrage du clavier sur la carte mère GIGABYTE) Comment configurer la fonction de démarrage du clavier sur une carte mère GIGABYTE (activer le mode de démarrage du clavier sur la carte mère GIGABYTE) Dec 31, 2023 pm 05:15 PM

Comment configurer le démarrage du clavier sur la carte mère de Gigabyte Tout d'abord, s'il doit prendre en charge le démarrage du clavier, il doit s'agir d'un clavier PS2 ! ! Les étapes de configuration sont les suivantes : Étape 1 : appuyez sur Suppr ou F2 pour entrer dans le BIOS après le démarrage, et entrez dans le mode avancé (avancé) du BIOS. Les cartes mères ordinaires entrent dans le mode EZ (facile) de la carte mère par défaut. pour appuyer sur F7 pour passer au mode avancé. Les cartes mères de la série ROG entrent dans le BIOS par défaut (nous utilisons le chinois simplifié pour démontrer) Étape 2 : Sélectionnez - [Avancé] - [Gestion avancée de l'alimentation (APM)] Étape 3 : Recherchez l'option [Réveil par le clavier PS2] Étape 4 : Cette option est désactivée par défaut. Après avoir tiré vers le bas, vous pouvez voir trois options de configuration différentes, à savoir appuyer sur [barre d'espace] pour allumer l'ordinateur, appuyer sur groupe.

Le premier choix des joueurs CS : configuration informatique recommandée Le premier choix des joueurs CS : configuration informatique recommandée Jan 02, 2024 pm 04:26 PM

1. Processeur Lors du choix d'une configuration informatique, le processeur est l'un des composants les plus importants. Pour jouer à des jeux comme CS, les performances du processeur affectent directement la fluidité et la vitesse de réponse du jeu. Il est recommandé de choisir les processeurs Intel Core i5 ou i7 car ils disposent de puissantes capacités de traitement multicœur et de hautes fréquences, et peuvent facilement répondre aux exigences élevées du CS. 2. Carte graphique La carte graphique est l'un des facteurs importants dans les performances du jeu. Pour les jeux de tir tels que CS, les performances de la carte graphique affectent directement la clarté et la fluidité de l'écran de jeu. Il est recommandé de choisir les cartes graphiques de la série NVIDIA GeForce GTX ou de la série AMD Radeon RX. Elles ont d'excellentes capacités de traitement graphique et une fréquence d'images élevée, et peuvent offrir une meilleure expérience de jeu. 3. Puissance de la mémoire.

Interface de sortie audio numérique sur la carte mère-SPDIF OUT Interface de sortie audio numérique sur la carte mère-SPDIF OUT Jan 14, 2024 pm 04:42 PM

Séquence des lignes de connexion SPDIFOUT sur la carte mère. Récemment, j'ai rencontré un problème concernant la séquence de câblage des fils. J'ai vérifié en ligne. Certaines informations indiquent que 1, 2 et 4 correspondent à la sortie, au +5 V et à la masse tandis que d'autres informations indiquent que 1, 2 et 4 correspondent à la sortie, à la masse et au +5 V ; La meilleure façon est de consulter le manuel de votre carte mère. Si vous ne trouvez pas le manuel, vous pouvez utiliser un multimètre pour le mesurer. Trouvez d’abord la terre, puis vous pourrez déterminer l’ordre du reste du câblage. Comment connecter le câblage VDG de la carte mère Lors de la connexion du câblage VDG de la carte mère, vous devez brancher une extrémité du câble VGA dans l'interface VGA du moniteur et l'autre extrémité dans l'interface VGA de la carte graphique de l'ordinateur. Attention à ne pas le brancher sur le port VGA de la carte mère. Une fois connecté, vous pouvez

Les recommandations de configuration informatique de Glodon Software ; les exigences de configuration informatique de Glodon Software ; Les recommandations de configuration informatique de Glodon Software ; les exigences de configuration informatique de Glodon Software ; Jan 01, 2024 pm 12:52 PM

Glodon Software est une société de logiciels spécialisée dans le domaine de l'informatisation des bâtiments. Ses produits sont largement utilisés dans tous les aspects de la conception architecturale, de la construction et de l'exploitation. En raison des fonctions complexes et du grand volume de données du logiciel Glodon, celui-ci nécessite une configuration informatique élevée. Cet article détaillera les recommandations de configuration informatique de Glodon Software sous de nombreux aspects pour aider les lecteurs à choisir un processeur de configuration informatique approprié. Glodon Software nécessite une grande quantité de calcul et de traitement de données lors de l'exécution de la conception architecturale, de la simulation et d'autres opérations. pour le processeur sont plus élevés. Il est recommandé de choisir un processeur multicœur haute fréquence, tel que la série Intel i7 ou la série AMD Ryzen. Ces processeurs disposent d'une forte puissance de calcul et de capacités de traitement multithread, qui peuvent mieux répondre aux besoins du logiciel Glodon. Mémoire La mémoire affecte l'informatique

Quelle est la meilleure version du pilote de la carte graphique ? (Quelle version du pilote de la carte graphique est la meilleure) Quelle est la meilleure version du pilote de la carte graphique ? (Quelle version du pilote de la carte graphique est la meilleure) Jan 10, 2024 pm 11:13 PM

Quelle version du pilote de la carte graphique est-il préférable d'utiliser ? 1. Il n'existe pas de meilleure version absolue. Il est très important de choisir la version qui convient à votre ordinateur. 2. Parce que l'applicabilité et la stabilité de la version du pilote de la carte graphique sont liées. l'environnement matériel informatique et la configuration du système ; 3. Vous pouvez vérifier les informations détaillées de l'ordinateur et de la carte graphique sur le site officiel, sélectionner la version du pilote appropriée en fonction des informations ou vous référer aux avis d'autres utilisateurs. Il est recommandé de sauvegarder le système avant d'installer le pilote pour éviter des situations inattendues. La série 472.19 du pilote de carte graphique est un excellent choix. Actuellement, la compatibilité des pilotes de la version 472 est la meilleure. L'installation de la version 472 du pilote peut également maximiser les performances de la carte graphique. La version d'installation Win7 du pilote de carte graphique NVIDIA, numérotée 2, 472.19, est un produit d'une qualité remarquable.

Le profit 'incroyable' de Deepseek: la marge bénéficiaire théorique est aussi élevée que 545%! Le profit 'incroyable' de Deepseek: la marge bénéficiaire théorique est aussi élevée que 545%! Mar 12, 2025 pm 12:21 PM

Deepseek a publié un article technique sur Zhihu, présentant en détail son système d'inférence Deepseek-V3 / R1, et a révélé pour la première fois des données financières clés, ce qui a attiré l'attention de l'industrie. L'article montre que la marge de bénéfice des coûts quotidiens du système atteint 545%, ce qui établit un nouveau profit mondial dans le modèle mondial de l'IA. La stratégie à faible coût de Deepseek lui donne un avantage dans la concurrence du marché. Le coût de sa formation sur modèle n'est que de 1% à 5% des produits similaires, et le coût de la formation du modèle V3 n'est que de 5,576 millions de dollars, bien inférieur à celui de ses concurrents. Pendant ce temps, la tarification de l'API de R1 n'est que de 1/7 à 1/2 d'Openaio3-MinI. Ces données prouvent la faisabilité commerciale de la voie technologique profonde et établissent également la rentabilité efficace des modèles d'IA.

Veuillez recommander un processeur économique à 1 155 broches. Veuillez recommander un processeur économique à 1 155 broches. Jan 14, 2024 pm 01:30 PM

Veuillez recommander quel processeur à 1155 broches est le meilleur. Le processeur actuel à 1155 broches offrant les performances les plus élevées est Intel Corei7-3770K. Il possède 4 cœurs et 8 threads, une fréquence de base de 3,5 GHz et prend en charge la technologie TurboBoost2.0, qui peut atteindre jusqu'à 3,9 GHz. De plus, il est équipé de 8 Mo de cache de niveau 3 et constitue un excellent processeur doté de la broche LGA1155, le processeur Intel Core i73770K le plus puissant. L'interface LGA1155 est le type d'interface utilisé par les processeurs Core de deuxième et troisième génération. La plus performante est Intel Core i73770K. Les paramètres de ce processeur sont les suivants : 1. Type applicable : ordinateur de bureau 2. Série de processeurs : Core i7 ; . CPU

Je vais voyager au Tibet avec un sac à dos. ① Combien de litres de sac puis-je transporter ? Veuillez me dire quelle est, selon vous, la meilleure configuration. J'ai 170 ans et j'ai une bonne force physique pour la première fois. Je vais voyager au Tibet avec un sac à dos. ① Combien de litres de sac puis-je transporter ? Veuillez me dire quelle est, selon vous, la meilleure configuration. J'ai 170 ans et j'ai une bonne force physique pour la première fois. Jan 07, 2024 am 10:06 AM

J'ai l'intention de faire de la randonnée au Tibet ① Combien de litres de sac dois-je emporter ? S'il vous plaît, dites-moi quelle est, selon vous, la meilleure configuration. J'ai 170 ans et j'ai une bonne force physique. La première fois que je suis parti en randonnée, la quantité était de 60. litres ou plus. La quantité de randonnée était inférieure à 60 litres. Tout le trajet s'est fait en voiture. Vous n'avez pas besoin de sac à dos, une valise est plus pratique. Si vous avez vraiment besoin de transporter quelque chose avec vous, une valise de 25 à 40 litres. le sac est plus que suffisant. Fournitures nécessaires pour voyager au Tibet : lunettes de soleil, chapeau de soleil, crème solaire, crème pour la peau, baume à lèvres, hauts à manches longues, pull pour un voyage spécial ou un voyage à Ali, dans le nord du Tibet et sur la ligne Sichuan-Tibet ; il est recommandé d'apporter : un sac de couchage (protection contre le froid), des draps (protection contre la saleté), une doudoune, des chaussures de voyage ou de randonnée, des chaussons, une brosse à dents, du dentifrice, une serviette, du papier à rouler, des sous-vêtements en papier, des lingettes désinfectantes, une lampe de poche, des allumettes imperméables, des couteaux. , corde. Un ordinateur peut-il être transporté dans le sac avant ? Certains sacs à dos en sont équipés.

See all articles