PHP数据库操作范例实战指南 (php 数据库操作范例)

随着互联网的发展和普及,应用程序的开发也变得越来越多样化和复杂化。其中,数据库是应用程序中不可或缺的模块,也是数据存储和管理的重要手段。因此,学习和掌握数据库的相关知识和技术显得尤为重要。而本文将着重介绍PHP数据库操作的范例实战指南,帮助读者快速掌握PHP操作数据库的技术。

一、数据库的概述

数据库(Database)是指按照数据结构来组织、存储和管理数据的设备和系统。在应用程序中,数据库是数据存储的重要手段,也是应用程序与数据交互的媒介。常见的数据库类型有: MySQL、Oracle、SQL Server等。而本文将以MySQL数据库为例,介绍PHP操作MySQL的范例实战。

二、PHP操作MySQL

在PHP中,通过mysqli和PDO两种扩展来实现操作MySQL。其中,mysqli扩展是比较常用的扩展,而PDO扩展则是面向对象的数据库操作扩展,更加灵活和具有通用性。因此,本文将重点介绍PDO扩展的操作方法。

1. 连接数据库

在PHP中,连接数据库有两种方式,分别是面向对象和面向过程的方式。其中,面向过程的方式通常使用mysqli扩展,而面向对象的方式通常使用PDO扩展。具体代码如下:

面向过程方式:

“`

$link=mysqli_connect(“localhost”,”root”,”123456″,”test”) or die(“数据库连接失败”);

“`

面向对象方式:

“`

try{

$pdo=new PDO(“mysql:host=localhost;dbname=test;charset=utf8″,”root”,”123456″);

}catch(PDOException $e){

echo “数据库连接失败,原因是:”.$e->getMessage();

}

“`

上述代码中,$link为mysqli连接数据库的变量名,$pdo为PDO连接数据库的变量名。其中,$link使用了mysqli_connect()函数,而$pdo则使用了PDO类的构造函数。

2. 查询数据

在PHP中,查询数据有两种方式,分别是query()和prepare()方法。其中,query()方法是直接执行SQL语句,而prepare()方法则是先预处理SQL语句,再执行查询。具体代码如下:

query()方法:

“`

$sql=”SELECT * FROM user WHERE id=1″;

$result=$pdo->query($sql);

while($row=$result->fetch()){

var_dump($row);

}

“`

prepare()方法:

“`

$sql=”SELECT * FROM user WHERE id=?”;

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

$stmt->execute([1]);

while($row=$stmt->fetch()){

var_dump($row);

}

“`

上述代码中,$result使用了query()方法,$stmt使用了prepare()方法,并通过execute()方法传递了参数,最后通过fetch()方法获取查询结果。

3. 插入数据

在PHP中,插入数据使用了exec()和prepare()等方法。其中,exec()方法是直接执行SQL语句,而prepare()方法则是先预处理SQL语句,再执行插入操作。具体代码如下:

exec()方法:

“`

$sql=”INSERT INTO user(name,age) VALUES(‘tom’,20)”;

$affectedRows=$pdo->exec($sql);

echo “影响的行数为:”.$affectedRows;

“`

prepare()方法:

“`

$sql=”INSERT INTO user(name,age) VALUES(?,?)”;

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

$stmt->execute([‘jerry’,22]);

$affectedRows=$stmt->rowCount();

echo “影响的行数为:”.$affectedRows;

“`

上述代码中,$affectedRows获取了影响的行数。在使用prepare()方法时,可以使用?号作为占位符,通过execute()方法传递参数进行插入操作。

4. 更新数据

在PHP中,更新数据使用了exec()和prepare()等方法。其中,exec()方法是直接执行SQL语句,而prepare()方法则是先预处理SQL语句,再执行更新操作。具体代码如下:

exec()方法:

“`

$sql=”UPDATE user SET age=21 WHERE name=’tom'”;

$affectedRows=$pdo->exec($sql);

echo “影响的行数为:”.$affectedRows;

“`

prepare()方法:

“`

$sql=”UPDATE user SET age=? WHERE name=?”;

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

$stmt->execute([’23’,’jerry’]);

$affectedRows=$stmt->rowCount();

echo “影响的行数为:”.$affectedRows;

“`

那么,上述代码中$affectedRows获取了影响的行数。在使用prepare()方法时,同样可以使用?号作为占位符,通过execute()方法传递参数进行更新操作。

5. 删除数据

在PHP中,删除数据使用了exec()和prepare()等方法。其中,exec()方法是直接执行SQL语句,而prepare()方法则是先预处理SQL语句,再执行删除操作。具体代码如下:

exec()方法:

“`

$sql=”DELETE FROM user WHERE name=’tom'”;

$affectedRows=$pdo->exec($sql);

echo “影响的行数为:”.$affectedRows;

“`

prepare()方法:

“`

$sql=”DELETE FROM user WHERE name=?”;

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

$stmt->execute([‘jerry’]);

$affectedRows=$stmt->rowCount();

echo “影响的行数为:”.$affectedRows;

“`

上述代码中$affectedRows获取了影响的行数。在使用prepare()方法时,同样可以使用?号作为占位符,通过execute()方法传递参数进行删除操作。

三、

通过上述范例实战指南,相信读者已经初步掌握了PHP操作MySQL数据库的方法和技巧。在实际应用中,我们可以根据具体的业务需求和场景,结合数据库的相关知识和技术,灵活运用其中的方法和技巧,更好的完成数据库操作。

而此外,在实际应用中,还需要注意一些常见问题,如连接数据库超时、SQL注入等。因此,在进行数据库操作时,还需要具备一定的安全意识和技能。在此基础上,我们可以更好的开发出高质量的应用程序,满足不同用户的需求和要求。

相关问题拓展阅读:

php如何读取CSV大文件并且将其导入数据库示例

思路:

读取csv文件,每读取一行数据,就插入数据库

示例

文件夹结构

/

 file.csv    //csv大文件,这里只模拟三行数据,不考虑运行效率(PS:csv文件格式很简单,文件一般较小,解析很快,运行效率的瓶颈主要在写入数据库操作)

 index.php    //php文件

file.csv

singi,20

lily,19

daming,23

index.php

/**

 * 读取csv文件,每读取一行数据,就插入数据库

 */

//获取数据库实例

$dsn = ‘敏游mysql:dbname=test;host=127.0.0.1’;

$user = ‘root’;

$password = ”;

try {

    $db = new PDO($dsn, $user, $password);

} catch (PDOException $e) {

    echo ‘Connection failed: ‘ . $e->getMessage();

}

//读取file.csv文件

if (($handle = fopen(“file.csv”, “r”)) !== FALSE) {

    while (($row = fgetcsv($handle, 1000, “,”)) !== FALSE) {

//写入数据库

$sth = $db->prepare(‘insert into test set name=:name,age=:age’);

$sth->bindParam(‘:name’,$row,PDO::PARAM_STR,255);

$sth->bindParam(‘:age’,$row,PDO::PARAM_INT);

$sth->execute();

    }

    fclose($handle);

}

数据表

CREATE TABLE `test` (

`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,

`name` VARCHAR(255) NULL DEFAULT ” COLLATE ‘utf8mb4_bin’,

`age` INT(10) NULL DEFAULT ‘0’,

PRIMARY KEY (`id`)

)

COLLATE=’utf8mb4_bin’

ENGINE=InnoDB;

php 数据库操作范例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php 数据库操作范例,PHP数据库操作范例实战指南,php如何读取CSV大文件并且将其导入数据库示例的信息别忘了在本站进行查找喔。


数据运维技术 » PHP数据库操作范例实战指南 (php 数据库操作范例)