php执行mysql语句的函数

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.37seo.cn/

点赞(113) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部