手册
目录
SELECT 语句用于从一个或多个表中选取数据:
SELECT column_name(s) FROM table_name
或者我们可以使用 * 字符从表中选择所有列:
SELECT * FROM table_name
请参阅:SQL 教程。
下例从 MyGuests 表中选择 id、firstname 和 lastname 列,并在页面上显示它们:
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"]. "
";
}
} else {
echo "0 结果";
}
$conn->close();
?>
首先,我们设置了一个 SQL 查询,从 MyGuests 表中选择 id、firstname 和 lastname 列。下一行代码运行查询并将结果数据放入名为 $result 的变量中。
然后,num_rows() 函数检查是否返回了多于零行。
如果返回了多于零行,则 fetch_assoc() 函数将所有结果放入一个我们可以循环遍历的关联数组中。while() 循环遍历结果集并输出 id、firstname 和 lastname 列的数据。
下例以 MySQLi 程序化方式展示了与上例相同的内容:
0) {
// 输出每一行的数据
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
";
}
} else {
echo "0 结果";
}
mysqli_close($conn);
?>
您还可以将结果放入 HTML 表格中:
connect_error) {
die("连接失败:" . $conn->connect_error);
}
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "| ID | Name |
|---|---|
| ".$row["id"]." | ".$row["firstname"]." ".$row["lastname"]." |
下例使用预处理语句。
它从 MyGuests 表中选取 id、firstname 和 lastname 列,并在 HTML 表格中显示它们:
"; echo ""; class TableRows extends RecursiveIteratorIterator { function __construct($it) { parent::__construct($it, self::LEAVES_ONLY); } function current() { return " Id Firstname Lastname " . parent::current(). " "; } function beginChildren() { echo ""; } function endChildren() { echo " " . "\n"; } } $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDBPDO"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests"); $stmt->execute(); // 将结果数组设置为关联数组 $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { echo $v; } } catch(PDOException $e) { echo "错误:" . $e->getMessage(); } $conn = null; echo ""; ?>
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
70.9万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习