php连接操作数据库的函数

PHP 中,我们可以使用 mysqli 和 PDO 两种方式来连接和操作数据库。

首先,我们来看 mysqli。

mysqli

mysqli 是 PHP 中操作 MySQL 数据库的扩展库,它支持连接 MySQL 服务器、执行操作(增删改查)和处理结果等功能。

1. 连接数据库

使用 mysqli_connect() 函数来连接数据库,函数需要传入四个参数,分别是主机地址、用户名、密码和数据库名。示例代码如下:

```

$servername = "localhost";

$username = "root";

$password = "123456";

$dbname = "testdb";

// 创建连接

$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检测连接

if (!$conn) {

die("连接失败: " . mysqli_connect_error());

}

echo "连接成功";

```

2. 执行操作

使用 mysqli_query() 函数来执行操作,函数需要传入两个参数,分别是连接和 SQL 语句。示例代码如下:

```

$sql = "SELECT * FROM users";

$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {

while($row = mysqli_fetch_assoc($result)) {

echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "
";

}

} else {

echo "0 结果";

}

mysqli_close($conn);

```

在上面的示例代码中,我们使用了 mysqli_num_rows() 函数来获取结果集中的行数,使用 mysqli_fetch_assoc() 函数来获取单行记录。

3. 处理结果

mysqli 的结果集有多种处理方式,比如上面的示例代码中,我们使用了 mysqli_fetch_assoc() 函数来获取单行记录,还可以使用 mysqli_fetch_row() 函数、mysqli_fetch_array() 函数等。此外,还可以使用 mysqli_affected_rows() 函数来获取受影响的行数,使用 mysqli_insert_id() 函数来获取自增主键的值等。

PDO

PDO 是 PHP 中操作数据库的抽象层,它支持多种数据库,包括 MySQL、SQLite、Oracle 等。

1. 连接数据库

使用 PDO 的构造函数来连接数据库,函数需要传入三个参数,分别是数据库类型、主机地址和数据库名。示例代码如下:

```

$servername = "localhost";

$username = "root";

$password = "123456";

$dbname = "testdb";

try {

$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);

// 设置 PDO 错误模式为异常

$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

echo "连接成功";

}

catch(PDOException $e)

{

echo "连接失败: " . $e->getMessage();

}

```

2. 执行操作

使用 PDO 的 prepare() 方法来执行操作,方法需要传入 SQL 语句,然后使用 execute() 方法来执行。示例代码如下:

```

$sql = "SELECT * FROM users";

$stmt = $conn->prepare($sql);

$stmt->execute();

// 设置结果集为关联数组

$stmt->setFetchMode(PDO::FETCH_ASSOC);

$result = $stmt->fetchAll();

if (count($result) > 0) {

foreach($result as $row) {

echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "
";

}

} else {

echo "0 结果";

}

$conn = null;

```

在上面的示例代码中,我们使用了 PDO 的 setFetchMode() 方法来设置结果集为关联数组,使用 fetchAll() 方法来获取所有记录。

3. 处理结果

PDO 的结果集同样有多种处理方式,比如上面的示例代码中,我们使用了 fetchAll() 方法来获取所有记录,还可以使用 fetch() 方法来获取单行记录等。此外,还可以使用 rowCount() 方法来获取受影响的行数,使用 lastInsertId() 方法来获取自增主键的值等。

注意事项

在连接数据库时,需要注意以下几点:

1. 数据库地址使用 IP 地址或者主机名都可以。如果使用 IP 地址,需要确保能够连通。

2. 数据库用户名和密码需要保密,不要在代码中明文保存。

3. 连接数据库时,需要设置字符集,避免乱码。一般来说,可以使用 utf8mb4 字符集,支持更多的字符。

4. 在处理结果集时,需要注意防止 SQL 注入攻击,避免恶意操作或者数据泄漏。可以使用 PDO 的 prepare() 方法或者 mysqli 的 prepare() 方法来减少此类风险。

总结

PHP 中连接和操作数据库是非常常见的操作,需掌握两种方式:mysqli 和 PDO。

mysqli 方式使用较为简单,但只支持 MySQL 数据库;PDO 方式支持多种数据库,并且具有更好的安全性和可扩展性。

在使用这两种方式时,需要注意安全性,避免 SQL 注入攻击。同时,还需要设置字符集,以及正确处理结果集。

壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

点赞(71) 打赏

评论列表 共有 0 条评论

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