MySQL读取数据

从MySQL数据库读取数据

使用SELECT语句用于从数据表中读取数据

1
SELECT column_name(s) FROM table_name

可以用*来读取所有数据表中的字段
1
SELECT * FROM table_name

使用MySQLi

操作基本一致

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "myDB";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
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"]. "\n";
}
} else {
echo "0 结果";
}
$conn->close();

运行结果
1
2
3
4
5
6
7
id: 1 - Name: John Doe
id: 2 - Name: John Doe
id: 3 - Name: Mary Moe
id: 4 - Name: Julie Dooley
id: 5 - Name: John Doe
id: 6 - Name: Mary Moe
id: 7 - Name: Julie Dooley

首先,我们设置了 SQL 语句从 MyGuests数据表中读取 id, firstname 和 lastname 三个字段。之后我们使用该 SQL 语句从数据库中取出结果集并赋给复制给变量 $result。

函数 num_rows() 判断返回的数据。

如果返回的是多条数据,函数 fetch_assoc() 将结合集放入到关联数组并循环输出。 while() 循环出结果集,并输出 id, firstname 和 lastname 三个字段值。

面向过程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
// 输出数据
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 结果";
}

mysqli_close($conn);

运行结果一样

总结

  1. 函数 num_rows() 判断返回的数据

  2. 函数 fetch_assoc() 将结合集放入到关联数组并循环输出

  3. 在使用函数 fetch_assoc()时,定义一个变量,并采用键值对中值的方式去访问数据