PHP是一种功能强大的编程语言,在Web开发领域广泛应用。其中,对MySQL数据库的支持也是很重要的。
在PHP中,使用MySQLi(MySQL Improved Extension)和PDO(PHP Data Objects)两种扩展库来实现对MySQL的操作。
## MySQLi 扩展库
MySQLi是MySQL Improved Extension的缩写,是PHP提供的一个MySQL数据库的扩展库。MySQLi扩展库支持面向对象和过程式两种操作方式,其中面向对象方式更加推荐。
使用MySQLi扩展库连接MySQL数据库
```php
// mysqli_connect函数参数分别为:数据库主机,用户名,密码,数据库名
$conn = mysqli_connect("localhost", "root", "password", "database_name");
// 检查一下连接是否成功
if (!$conn) {
die("连接失败:" . mysqli_connect_error());
}
echo "连接成功";
mysqli_close($conn);
```
其中,mysqli_connect函数使用示例中,分别传入了4个参数,分别为:数据库主机(通常为localhost or 127.0.0.1),MySQL 用户名,MySQL 密码,以及要使用的数据库名称。
使用mysqli_query函数来执行MySQL数据库的查询
当连接成功后,可以使用mysqli_query函数来执行MySQL数据库的查询。下面是一个基本的查询示例:
```php
$sql = "SELECT id, name, age FROM users";
$result = mysqli_query($conn, $sql);
```
其中,$sql为SQL语句,即要执行的查询操作。$result是mysqli_query函数的返回值,表示查询结果。
可以使用mysqli_fetch_array函数来将查询结果保存到一个数组中,便于后续的处理。
```php
while($row=mysqli_fetch_array($result)){
echo $row['id'] . " " .$row['name']. " " .$row['age'];
}
```
以上代码会将查询结果逐行输出,示例结果如下:
```
1 Tom 18
2 Jack 20
3 Lucy 19
```
在使用mysqli_query函数时,如果执行失败,可以使用mysqli_error函数获取失败的详细信息,并进行相应的处理。
```php
if(!$result){
echo "查询失败:" . mysqli_error($conn);
}
```
在查询操作完成后,使用mysqli_free_result函数关闭结果集。
```php
mysqli_free_result($result);
```
## PDO 扩展库
PDO(PHP Data Objects)是PHP提供的另一种对MySQL数据库进行操作的扩展库。与MySQLi扩展库不同的是,PDO支持多种数据库操作,包括MySQL、PostgreSQL、Oracle等。
使用PDO扩展库连接数据库
```php
// pdo连接示例
$host = "localhost";
$dbname = "database_name";
$user = "root";
$password = "password";
$charset = "utf8mb4";
$dsn = "mysql:host=$host;dbname=$dbname;charset=$charset";
try {
$pdo = new PDO($dsn, $user, $password);
echo "连接成功!";
} catch (PDOException $e) {
die("连接失败: " . $e->getMessage());
}
```
其中,$dsn为数据源名称,设置了连接的数据库类型、主机、DB名和字符集。PDO连接MySQL数据库的常用Dsn格式如下。
```
mysql:host=HOST;dbname=DBNAME;charset=CHARSET
```
使用PDO对象的query函数查询数据
```php
$sql = "SELECT id, name, age FROM users";
$result = $pdo->query($sql);
// 获取查询结果
foreach ($result as $row) {
echo $row['id'] . " " . $row['name'] . " " . $row['age'];
}
```
在使用query函数执行查询操作时,如果出错,可以使用errorInfo函数获取错误信息。
```php
if(!$result){
$error = $pdo->errorInfo();
echo "查询失败:" . $error[2];
}
```
使用PDO对象的prepare函数预处理数据
在对数据库进行增加、删除、修改等操作时,很容易遭受SQL注入攻击。PDO提供了prepare和execute两个函数来预处理数据,可以有效避免注入攻击。
使用prepare函数进行数据预处理:
```php
$sql = "INSERT INTO users(name, age) VALUES (:name, :age)";
$stmt = $pdo->prepare($sql);
```
其中,$sql为要执行的SQL语句,:name和:age为占位符。
使用execute函数执行SQL语句。
```php
$name = 'Tom';
$age = 20;
$stmt->execute(array(':name' => $name, ':age' => $age));
```
其中,array(':name' => $name, ':age' => $age)表示占位符对应的值。
## PHP函数shuffle
shuffle函数是PHP中的一种数组函数,用于将数组中的元素随机重排列。
```php
$my_array = array(1, 2, 3, 4, 5);
shuffle($my_array);
```
以上代码将$my_array数组中的元素进行随机排列,最终的数组可能为[3,1,4,5,2]等。
shuffle函数作用于原始数组,并会返回布尔值来表示是否随机洗牌成功。
```php
if (shuffle($my_array))
echo 'Shuffle success!';
else
echo 'Shuffle failed.';
```
shuffle函数常用于数组随机排序、图片随机展示等场景。
## 结论
了解MySQLi和PDO的使用,可以很好地进行PHP与MySQL数据库之间的交互。而shuffle函数则可以快速实现数组元素的随机排列。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
发表评论 取消回复