PHP中使用PDO进行MySQL查询(pdo查询mysql)

PHP中使用PDO进行MySQL查询

数据库(Database)是企业应用开发中至关重要的一环,MySQL数据库更是使用最为广泛的一种数据库,在PHP中,我们往往会使用MySQL来存储和检索数据。对于连接MySQL的操作,我们可以使用原生的MySQL模块,但是,大多数情况下,我们使用PHP Data Object(PDO)来实现抽象层与MySQL无关的连接与操作,PDO提供统一的访问接口,方便开发者根据需要在不同的操作环境中切换使用。

下面我们将介绍并展示如何使用PDO类进行MySQL查询。

第一步,建立与MySQL数据库连接,如下所示:

$db_host = 'localhost'; // 数据库主机地址
$db_name = 'test'; // 数据库名
$db_user = 'root'; // 数据库用户名
$db_pass = ''; // 数据库密码
$dsn = 'mysql:host='.$db_host.';dbname='.$db_name;
try {
$pdo = new PDO($dsn, $db_user, $db_pass); //实例化PDO类
}
catch (PDOException $e) {
echo '数据库连接失败:'.$e->getMessage();
exit;
}

接下来,我们可以使用PDO类的prepare()方法来进行SQL查询,如下所示:

$sql = 'SELECT * FROM user WHERE age > :age';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':age', 18);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);

上面的查询将返回age大于18岁的所有用户,可以看到,我们使用”:age”来绑定参数,使SQL语句更加安全,这样可以防止SQL注入攻击。

PDO类还提供了其他丰富的方法,例如,我们可以利用PDO类的query()方法在不使用绑定参数的情况下,查询操作,例如:

$sql = 'SELECT * FROM user';
$result = $pdo->query($sql);
$rows = $result->fetchAll(PDO::FETCH_ASSOC);
foreach ($rows as $row) {
echo $row['name'].'
';
}

上面的查询将打印user表中的所有name字段。

最后,我们可以通过PDO类的lastInsertId()方法来返回自增ID,例如:

$sql = 'INSERT INTO user(name,age) VALUES (?,?)';
$stmt = $pdo->prepare($sql);
$stmt->execute(['Kiss', 28]);
echo $pdo->lastInsertId(); // 返回为插入数据的ID

以上就是如何使用PDO类来进行MySQL查询的简单介绍,PDO类还提供其他很多高级功能,但是本文并未涉及,如果有兴趣,可以参阅官方文档进一步了解。


数据运维技术 » PHP中使用PDO进行MySQL查询(pdo查询mysql)