Rumah pembangunan bahagian belakang tutorial php PHP数据库连接mysql与mysqli对比分析_php技巧

PHP数据库连接mysql与mysqli对比分析_php技巧

May 16, 2016 pm 08:01 PM
mysql mysqli php

一、mysql与mysqli的概念相关

1、mysql与mysqli都是php方面的函数集,与mysql数据库关联不大。

2、在php5版本之前,一般是用php的mysql函数去驱动mysql数据库的,比如mysql_query()的函数,属于面向过程3、在php5版本以后,增加了mysqli的函数功能,某种意义上讲,它是mysql系统函数的增强版,更稳定更高效更安全,与mysql_query()对应的有mysqli_query(),属于面向对象,用对象的方式操作驱动mysql数据库

二、mysql与mysqli的区别

1、mysql是非持继连接函数,mysql每次链接都会打开一个连接的进程。

2、mysqli是永远连接函数,mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销。mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法。

三、mysql与mysqli的用法

1、mysql(过程方式):

1

2

3

4

5

6

7

8

9

$conn = mysql_connect('localhost', 'user', 'password'); //连接mysql数据库  

  

mysql_select_db('data_base'); //选择数据库 

  

$result = mysql_query('select * from data_base');//第二个可选参数,指定打开的连接  

  

$row = mysql_fetch_row( $result ) ) //只取一行数据  

  

echo $row[0]; //输出第一个字段的值 

Salin selepas log masuk

PS:mysqli以过程式的方式操作,有些函数必须指定资源,比如mysqli_query(资源标识,SQL语句),并且资源标识的参数是放在前面的,而mysql_query(SQL语句,'资源标识')的资源标识是可选的,默认值是上一个打开的连接或资源。

2、mysqli(对象方式):  

1

2

3

4

5

6

7

8

9

<pre name="code" class="php">$conn = new mysqli('localhost', 'user', 'password','data_base');  

//要使用new操作符,最后一个参数是直接指定数据库  

//假如构造时候不指定,那下一句需要$conn -> select_db('data_base')实现  

  

$result = $conn -> query( 'select * from data_base' );  

  

$row = $result -> fetch_row(); //取一行数据  

  

echo row[0]; //输出第一个字段的值

Salin selepas log masuk

使用new mysqli('localhost', usenamer', 'password', 'databasename');会报错,提示如下:

Fatal error: Class 'mysqli' not found in ...

一般是mysqli是没有开启的,因为mysqli类不是默认开启的,win下要改php.ini,去掉php_mysqli.dll前的;,linux下要把mysqli编译进去。

四、mysql与mysqli举例

1、mysql

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

<span style="font-size:14px;">$con=mysql_connect($dbhostip,$username,$userpassword);

$db = mysql_select_db($dbdatabasename,$con);

//执行语句

$qres=mysql_query("SELECT id,GoodsName FROM user");

//提取一条数据

$row=mysql_fetch_row($result);

//mysql_fetch_row只能提取出查询结果的第一条记录

//提取多条记录

$reslist = array();

$i=0;

while($row = mysql_fetch_row($res)){

  $reslist[$i] = $row;

  $i++;

 }

mysql_close($con);

</span>

 

//mysql_fetch_row  提取的结果是没有查询中的字段名了(也就是没有键id,GoodsName,只有值)

 

 

 

//mysql_fetch_assoc 提取的结果有键值

 

 

//mysql_fetch_array提取的结果有键值,是前面两种的综合

Salin selepas log masuk

在mysql_connect()、mysql_select_db()等函数之前使用@(错误控制运算符),可以忽略掉系统产生的错误信息,然后我们用die()来自定义错误信息;
对于mysql_query()函数的返回值,如果执行的语句有返回值(如SELECT、SHOW、DESCRIBE等),则返回相应数据(成功时)或FALSE(失败时);如果执行的语句没有返回值(如DELETE、DROP、INSERT、UPDATE等),则返回TRUE(成功时)或FALSE(失败时)。

2、mysqli

1

2

3

4

5

6

7

8

9

10

11

12

13

$db=new mysqli($dbhostip,$username,$userpassword,$dbdatabasename);

   

if(mysqli_connect_error()){ 

   

  echo 'Could not connect to database.'

   

  exit;

   

}

   

$result=$db->query("SELECT id,GoodsName FROM user");

   

$row=$result->fetch_row();

Salin selepas log masuk

五、php中mysqli用法举例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

<&#63;php

  $variable = $_POST['variable']; //Post从表单中提取变量

  if(!$variable) //如果变量为空,输出错误信息并退出

  {

    echo 'You hava not entered search details.Please go back and try again.';

    exit;

  }

  if(!get_magic_quotes_gpc()) //该函数用于判断get_magic_quotes_gpc是否开启,get_magic_quotes_gpc参数是用于确定是否将从post,get,cookie过来的数据增加转义字符和从数据库出来的数据去掉转义字符

  {

    $variable = addlashes($variable);//在特殊文本字符前增加转义字符

    //stripslashes()用于在去掉转义字符

  }

  $localhost = 'hostname';//主机名

  $user = 'username';//用户名

  $pwd = 'password';//密码

  $db = 'databasename';//

  @$link = new mysqli($localhost,$user,$pwd,$db);//连接数据库

  if(mysqli_connect_errno())//如果数据库连接失败,输出错误信息并退出

  {

    echo 'Error: Coulid not connect to database. Please try again later.';

    exit;

  }

  $query = "SELECT row from table where some situation";//查询语句

  $result = $link -> query($query);//查询并返回结果

  $num_results = $result -> num_rows; //结果行数

  echo "<p>Number of row found: ". $num_results ."</p>";//输出行数

    

  for($i = 0;$i < $num_results;$i++)//循环输出每组元素

  {

    $row = $result -> fetch_assoc();//提取元素,一次一行,fetch_assoc()提取出的元素,有属性以及值

    echo stripslashes($row['attributename']);//按属性(键)提取值

    echo "<br/>";

  }

  $result -> free();//释放内存

  $link -> close();//断开数据库连接

&#63;>

Salin selepas log masuk

以上就是关于PHP数据库连接mysql与mysqli的区别与用法,希望对大家的学习有所帮助。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP dan Python: Membandingkan dua bahasa pengaturcaraan yang popular PHP dan Python: Membandingkan dua bahasa pengaturcaraan yang popular Apr 14, 2025 am 12:13 AM

PHP dan Python masing -masing mempunyai kelebihan mereka sendiri, dan memilih mengikut keperluan projek. 1.PHP sesuai untuk pembangunan web, terutamanya untuk pembangunan pesat dan penyelenggaraan laman web. 2. Python sesuai untuk sains data, pembelajaran mesin dan kecerdasan buatan, dengan sintaks ringkas dan sesuai untuk pemula.

Tujuan PHP: Membina Laman Web Dinamik Tujuan PHP: Membina Laman Web Dinamik Apr 15, 2025 am 12:18 AM

PHP digunakan untuk membina laman web dinamik, dan fungsi terasnya termasuk: 1. Menjana kandungan dinamik dan menghasilkan laman web secara real time dengan menyambung dengan pangkalan data; 2. Proses Interaksi Pengguna dan Penyerahan Bentuk, Sahkan Input dan Menanggapi Operasi; 3. Menguruskan sesi dan pengesahan pengguna untuk memberikan pengalaman yang diperibadikan; 4. Mengoptimumkan prestasi dan ikuti amalan terbaik untuk meningkatkan kecekapan dan keselamatan laman web.

Relevannya PHP: Adakah ia masih hidup? Relevannya PHP: Adakah ia masih hidup? Apr 14, 2025 am 12:12 AM

PHP masih dinamik dan masih menduduki kedudukan penting dalam bidang pengaturcaraan moden. 1) kesederhanaan PHP dan sokongan komuniti yang kuat menjadikannya digunakan secara meluas dalam pembangunan web; 2) fleksibiliti dan kestabilannya menjadikannya cemerlang dalam mengendalikan borang web, operasi pangkalan data dan pemprosesan fail; 3) PHP sentiasa berkembang dan mengoptimumkan, sesuai untuk pemula dan pemaju yang berpengalaman.

PHP dalam Tindakan: Contoh dan aplikasi dunia nyata PHP dalam Tindakan: Contoh dan aplikasi dunia nyata Apr 14, 2025 am 12:19 AM

PHP digunakan secara meluas dalam e-dagang, sistem pengurusan kandungan dan pembangunan API. 1) e-dagang: Digunakan untuk fungsi keranjang belanja dan pemprosesan pembayaran. 2) Sistem Pengurusan Kandungan: Digunakan untuk penjanaan kandungan dinamik dan pengurusan pengguna. 3) Pembangunan API: Digunakan untuk Pembangunan API RESTful dan Keselamatan API. Melalui pengoptimuman prestasi dan amalan terbaik, kecekapan dan pemeliharaan aplikasi PHP bertambah baik.

PHP dan Python: Paradigma yang berbeza dijelaskan PHP dan Python: Paradigma yang berbeza dijelaskan Apr 18, 2025 am 12:26 AM

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP dan Python: Contoh dan perbandingan kod PHP dan Python: Contoh dan perbandingan kod Apr 15, 2025 am 12:07 AM

PHP dan Python mempunyai kelebihan dan kekurangan mereka sendiri, dan pilihannya bergantung kepada keperluan projek dan keutamaan peribadi. 1.PHP sesuai untuk pembangunan pesat dan penyelenggaraan aplikasi web berskala besar. 2. Python menguasai bidang sains data dan pembelajaran mesin.

Mengapa menggunakan PHP? Kelebihan dan faedah dijelaskan Mengapa menggunakan PHP? Kelebihan dan faedah dijelaskan Apr 16, 2025 am 12:16 AM

Manfaat utama PHP termasuk kemudahan pembelajaran, sokongan pembangunan web yang kukuh, perpustakaan dan kerangka yang kaya, prestasi tinggi dan skalabilitas, keserasian silang platform, dan keberkesanan kos. 1) mudah dipelajari dan digunakan, sesuai untuk pemula; 2) integrasi yang baik dengan pelayan web dan menyokong pelbagai pangkalan data; 3) mempunyai rangka kerja yang kuat seperti Laravel; 4) Prestasi tinggi dapat dicapai melalui pengoptimuman; 5) menyokong pelbagai sistem operasi; 6) Sumber terbuka untuk mengurangkan kos pembangunan.

PHP: Pengendalian pangkalan data dan logik sisi pelayan PHP: Pengendalian pangkalan data dan logik sisi pelayan Apr 15, 2025 am 12:15 AM

PHP menggunakan sambungan MySQLI dan PDO untuk berinteraksi dalam operasi pangkalan data dan pemprosesan logik sisi pelayan, dan memproses logik sisi pelayan melalui fungsi seperti pengurusan sesi. 1) Gunakan MySQLI atau PDO untuk menyambung ke pangkalan data dan laksanakan pertanyaan SQL. 2) Mengendalikan permintaan HTTP dan status pengguna melalui pengurusan sesi dan fungsi lain. 3) Gunakan urus niaga untuk memastikan atomik operasi pangkalan data. 4) Mencegah suntikan SQL, gunakan pengendalian pengecualian dan sambungan penutup untuk debugging. 5) Mengoptimumkan prestasi melalui pengindeksan dan cache, tulis kod yang sangat mudah dibaca dan lakukan pengendalian ralat.

See all articles