php使用数据库 mysqli(注意有个i)


1 什么是mysqli

php-mysql 函数库是 php 操作 mysql 资料库最原始的扩展库,php-mysqli 的 i代表 Improvement,相当于前者的增强版,也包含了相对进阶的功能,另外本身也增加了安全性,比如可以大幅度减少 SQL 注入等问题的发生。

2 mysql与mysqli的概念相关

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

3 mysql与mysqli的主要区别

1.首先两个函数都是用来处理DB(数据库)的。
2.mysqli 连接是永久连接,而mysql是非永久连接。即 mysql连接每当第二次使用的时候,都会重新打开一个新的进程,而mysqli则只使用同一个进程,这样可以很大程度的减轻服务器端压力。
3.mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法。应用比较多的地方是 mysqli的事务。

4 mysqli的优点

1.安全性、稳定性更高;
2.提供了面向对象和面向过程两种风格

5 mysqli的使用

先在phpstudy中添加mysqli扩展。
在这里插入图片描述

关于phpstudy,可以参见我另一篇文章: https://blog.csdn.net/linxinfa/article/details/103033142

启动mysql服务
在这里插入图片描述
可以修改数据库密码
在这里插入图片描述
接着我们就可以通过php代码来操作mysql数据库了

<?php

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '123456';

// Create connection
$con = mysqli_connect($dbhost,$dbuser,$dbpass);

// Check connection
// 检测连接
if (!$con) {
    die("连接失败: " . mysqli_connect_error());
}

// 创建DB
$sql = "CREATE DATABASE IF NOT EXISTS testDB_01";
if(mysqli_query($con, $sql))
{
    echo "创建数据库 testDB_01 成功<br>";
} else {
    echo "创建数据库 testDB_01 错误: " . mysqli_error($con) . "<br>";
}

// 进入DB
$sql = "USE testDB_01";
if(mysqli_query($con, $sql))
{
    echo "USE testDB_01成功<br>";
} else {
    echo "USE testDB_01错误: " . mysqli_error($con) . "<br>";
}

// 创建TABLE
$sql = "CREATE TABLE IF NOT EXISTS 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
)";

if (mysqli_query($con, $sql)) {
    echo "创建数据表 MyGuests 成功<br>";
} else {
    echo "创建数据表错误: " . mysqli_error($con) . "<br>";
}

// INSERT语句测试
$sql = "INSERT INTO MyGuests(firstname, lastname, email) 
VALUES('xinfa', 'lin', '565192010@qq')";
if (mysqli_query($con, $sql)) {
    echo "INSERT 成功<br>";
} else {
    echo "INSERT 错误: " . mysqli_error($con) . "<br>";
}


// SELECT语句测试
$result = mysqli_query($con, "SELECT * FROM MyGuests");
while($row = mysqli_fetch_array($result))
  {
  echo $row['firstname'] . " " . $row['lastname'];
  echo "<br />";
  }

mysqli_close($con);
?>

测试结果
在这里插入图片描述


引用
https://blog.csdn.net/MYTLJP/article/details/78596741

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林新发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值