PHP和MySQL数据库的接口_PHP

PHP是一种服务器端的脚本语言,用于创建动态的Web页面。MySQL是一个关系型数据库管理系统,常与PHP一起使用以处理和存储数据。

PHP和MySQL数据库的接口

PHP和MySQL数据库的接口_PHP插图1

安装MySQL扩展

1、下载MySQL扩展库:访问PECL官网(https://pecl.php.net/)下载对应版本的MySQL扩展库。

2、解压下载的文件,将php_mysql.dll文件复制到PHP安装目录下的ext文件夹中。

3、修改php.ini文件,添加以下内容:

extension=php_mysql.dll

4、重启PHP服务。

连接MySQL数据库

1、使用mysqli扩展连接数据库:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn>connect_error) {
    die("连接失败: " . $conn>connect_error);
} 
echo "连接成功";
?>

2、使用PDO扩展连接数据库:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
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();
}
?>

执行SQL语句

1、使用mysqli扩展执行SQL语句:

PHP和MySQL数据库的接口_PHP插图3

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn>connect_error) {
    die("连接失败: " . $conn>connect_error);
} 
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn>query($sql);
if ($result>num_rows > 0) {
    // 输出每行数据
    while($row = $result>fetch_assoc()) {
        echo "id: " . $row["id"]. " Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
} else {
    echo "0 结果";
}
$conn>close();
?>

2、使用PDO扩展执行SQL语句:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // 设置PDO错误模式为异常
    $conn>setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    $stmt = $conn>prepare("SELECT id, firstname, lastname FROM MyGuests");
    $stmt>execute();
    
    // 输出每行数据
    while($row = $stmt>fetch(PDO::FETCH_ASSOC)) {
        echo "id: " . $row["id"]. " Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }    
} catch(PDOException $e) {
    echo "连接失败: " . $e>getMessage();
}    
$conn = null; //关闭连接资源,释放内存资源,避免内存泄漏,建议使用trycatch结构来处理异常,在finally块中关闭资源,关闭资源时,先关闭依赖的资源,再关闭当前资源,先关闭游标,再关闭数据库连接,释放大对象等占用大量内存的对象,如果使用了事务,则在提交或回滚事务后关闭数据库连接,如果在finally块中关闭了资源,则不需要显式地调用PHP的unset()函数来释放变量所占用的内存,因为PHP会在脚本结束时自动回收这些内存,如果使用了静态变量或者全局变量,则需要显式地调用unset()函数来释放它们所占用的内存,否则,这些变量将一直占用内存,直到脚本结束为止。

下面是一个简单的介绍,展示了PHP和MySQL数据库接口的一些常用操作:

操作类型 PHP代码示例 连接到数据库 $mysqli = new mysqli("host", "username", "password", "database"); 检查连接错误 if ($mysqli>connect_error) { die("连接失败: " . $mysqli>connect_error); } 执行SQL查询 $result = $mysqli>query("SELECT * FROM table_name"); 遍历查询结果 while ($row = $result>fetch_assoc()) { echo $row['column']; } 插入数据 $mysqli>query("INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2')"); 更新数据 $mysqli>query("UPDATE table_name SET column1='value1' WHERE id=1"); 删除数据 $mysqli>query("DELETE FROM table_name WHERE id=1"); 获取受影响行数 $affected_rows = $mysqli>affected_rows; 获取最后插入的ID $last_id = $mysqli>insert_id; 错误处理 if ($mysqli>errno) { die("查询失败: " . $mysqli>error); } 关闭连接 $mysqli>close();

请注意,上面的示例使用了mysqli扩展,这是PHP中用于与MySQL数据库交互的一种方式,还有其他方式,比如PDO(PHP Data Objects),也是一种流行的数据库抽象层。

在使用这些PHP代码示例时,需要确保替换示例中的占位符,如"host","username","password","database",table_name,column1,column2等,以适应你的具体数据库配置和操作需求。

在实际开发中,强烈建议使用预处理语句来避免SQL注入攻击,尤其是在处理来自用户输入的数据时,上面的示例没有包含预处理语句,这是因为介绍的目的是为了简洁展示基本的PHP和MySQL接口操作。

PHP和MySQL数据库的接口_PHP插图5

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/9016.html

(0)
上一篇 2024年6月15日
下一篇 2024年6月15日

相关推荐