所有分类
  • 所有分类
  • 后端开发
如何使用 PHP 从 MySQL 表中选择数据并建立数据库连接

如何使用 PHP 从 MySQL 表中选择数据并建立数据库连接

扩展。准备查询语句。执行查询并获取结果。使用循环遍历结果数据并输出。表中选择数据前言数据库中选择数据。本文将演示如何使用这两种扩展来实现这一目标。扩展建立数据库连接登录后复制准备查询登录后复制扩展建立数据库连接登录后复制准备查询登录后复制实

1. 建立数据库连接

要从MySQL里选数儿,咱得先把线下搞定。这可是基础中的基础,没这步啥也玩不转。PHP提供了两个好用的扩展——MySQLi和PDO,帮咱们轻松搞定。

利用MySQLi延伸来连结数据库真的很简单!就得填上数据库的主机、账号、密码和名字,程序大概长这个样子:

php
创建一个连接数据库的变量:$mysqli,把这个连接参数设置为:"localhost"(服务器地址),"username"(用户名),"password"(密码)和"database_name"(数据库名称)。
if ($mysqli->connect_errno) {
连接失败,无法连上MySQL服务器了。$mysqli->connect_error这种东东就是报的错误信息!
    exit();
}

这儿,我们新搞了一个MySQLi小伙伴儿,给它塞进去些必要的信息。如果连不上的话,就会弹出提示告诉你哪儿出错,然后乖乖地结束运行!

如何使用 PHP 从 MySQL 表中选择数据并建立数据库连接

同样地,用PDO扩展连数据库特轻松。只需调出PDO构造函数,传点信息就成!

try {

首先,我们需要创建一个新的PDO对象。就像这样:这里的’host’=localhost’表示服务器地址,’dbname=’database_name’则是数据库名,’username’和’spassword’分别是你的用户名和密码。

设好 pdo 的错误模式为异常,就这么简单!

} catch (PDOException $e) {

“连接失败了,错误信息是$e的getMessage()。

在这几行里,咱们通过 try-catch 块儿来捕捉各种可能出现的问题,然后把错误信息给大家看。

2. 准备查询语句

搞定连线后,咱得搞个查询语句!无论MySQLi或PDO,这部分都很重要,因为得确保俺们的SQL指令妥妥滴,能把数据库里想要的信息全给挖出来。

用MySQLi来编写查询表达式的话,咱们得用’prepare’这个方法。比如,如果要选”users”这张表的全部内容,咱们就这么写:

先要准备好查询语句,就是从users表里选所有的数据。

if (!$stmt) {

“失败!(“. $mysqli->errno. “) “. $mysqli->error ,我们要怎么做?

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
  die("连接失败: " . $conn->connect_error);
}

咱们这儿就是用 `prepare` 给查询操练了一下,瞅瞅能不能行。

在用PDO操作查询语句前,记得先用 `prepare` 的魔法棒!

php
你可以简单地这样定义:
$sql = "SELECT * FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
  // 输出数据
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"] . " - Name: " . $row["name"] . " - Email: " . $row["email"] . "
"; } } else { echo "0 结果"; } $conn->close();

"SELECT * FROM users",然后放入到$pdo里,变成一个$stmt变量。
$error = $pdo->errorInfo();
"准备失败了: ".$错误消息的第3点。
瞧这儿这个代码块儿,我们还是得用下 `prepare` 手法儿来搞定查数据的事儿,还得看看成不成功。
3. 执行查询并获取结果
做完查询语句之后,你要做的就是敲回车,然后等着结果出来就行了。这个过程就是把数据从数据库里找出来的重点不论是用MySQLi还是用PDO,操作都是差不多滴。
用MySQLi找数据,就得用那个 `execute` 的方法来搞定。
if (!$stmt->execute()) {
"执行失败啦:(". $stmt->errno. ") ". $stmt->error;

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";
try {
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
  die("连接失败: " . $e->getMessage());
}

$result就是那个火车头,它把$stmt的结果拉出来了。
先查再取,这就是这段代码的大事情了。
用 PDO 想查点啥的话,就得使 `execute`~php

$error = $stmt->errorInfo();

“操作失败,错误代码是$error[2]”。

读完了查询,把结果直接取出来,就像这样:$result = $stmt->fetchAll(PDO::FETCH_ASSOC)。

$sql = "SELECT * FROM users";
$stmt = $conn->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll();
foreach($result as $row) {
  echo "id: " . $row["id"] . " - Name: " . $row["name"] . " - Email: " . $row["email"] . "
"; } $conn = null;

我们也可以query查完后,再用fetchAll来把所有的结果都打包带走哦~

4. 使用循环遍历结果数据并输出

最后一步就是查找出数据然后展示出来!这个步骤里头,你得用个圈儿来依次浏览每个搜到的数据,而且还得对每条数据做点儿啥。不管是用MySQLi还是PDO,找数据和展示的方法都是差不多滴。

用MySQLi来翻找结果的时候,就得用上`fetch_assoc`这个招数了。

就这样,当$row等于$result的第一行时,我们开始循环。

在这里,我们可以看到每个用户的 ID(编号),姓名和邮箱地址。分别是:”ID: “. $row[‘id’]. “, 名字: “. $row[‘name’]. “, 邮箱: “. $row[’email’].”

“;

这段码就是用来取每条消息里的 ID、名字还有邮箱,然后打印出来看看~

用 PDO 查数据,直接用 `fetchAll` 就能拿到结果集了。

// 使用 MySQLi 扩展
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
  die("连接失败: " . $conn->connect_error);
}
$sql = "SELECT * FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
  // 输出数据
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"] . " - Name: " . $row["name"] . " - Email: " . $row["email"] . "
"; } } else { echo "0 结果"; } $conn->close();

foreach ($result as $row) {

这儿,咱就简单地把 `fetchAll` 的结果拿出来挨个儿看,然后把每个客户的 ID,名字还有邮件地址打印出来。

总结

看完这个流程,咱就能轻松用 PHP 从 MySQL 取数据出来!管它是用 MySQLi 还是 PDO,操作起来就俩字儿——简单!希望这篇小文能帮到你更深入了解和运用 PHP 跟 MySQL 的数据交流~

向读者提问

你有没有在用PHP和MySQL搞数据交互时遇到啥难题?快来评论区说说你是怎么搞定它们的!

// 使用 PDO 扩展
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";
try {
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
  die("连接失败: " . $e->getMessage());
}
$sql = "SELECT * FROM users";
$stmt = $conn->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll();
foreach($result as $row) {
  echo "id: " . $row["id"] . " - Name: " . $row["name"] . " - Email: " . $row["email"] . "
"; } $conn = null;

原文链接:https://www.icz.com/technicalinformation/web/vue2/2024/07/19787.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?