幻想编程

PHP MySQL 读取数据

时间:14-12-10 18:07:27点击:402

从 MySQL 数据库读取数据

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

SELECT column_name(s) FROM table_name

以下实例中我们从表 MyGuests 读取了 id, firstname 和 lastname 列的数据并显示在页面上:

实例 (MySQLi - 面向对象)

<?php

$$servername = "localhost";

$$username = "username";

$$password = "password";

$$dbname = "myDB";

// 创建连接

$$conn = new mysqli($$servername, $$username, $$password, $$dbname);

// 检测连接

if ($$conn->connect_error) {

die("Connection failed: " . $$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 "<br> id: ". $$row["id"]. " - Name: ". $$row["firstname"]. " " . $$row["lastname"];

}

} else {

echo "0 results";

}

$$conn->close();

?>

以下实例读取了 MyGuests 表的所有记录并显示在 HTML 表格中:

实例 (PDO)

<?php

echo "<table style='border: solid 1px black;'>";

echo "<tr><th>Id</th><th>Firstname</th><th>Lastname</th><th>Email</th><th>Reg date</th></tr>";

class TableRows extends RecursiveIteratorIterator {

function __construct($$it) {

parent::__construct($$it, self::LEAVES_ONLY);

}

function current() {

return "<td style='width: 150px; border: 1px solid black;'>" . parent::current(). "</td>";

}

function beginChildren() {

echo "<tr>";

}

function endChildren() {

echo "</tr>" . "\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 * FROM MyGuests");

$$stmt->execute();

// 设置结果集为关联数组

$$result = $$stmt->setFetchMode(PDO::FETCH_ASSOC);

foreach(new TableRows(new RecursiveArrayIterator($$stmt->fetchAll())) as $$k=>$$v) {

echo $$v;

}

$$dsn = null;

}

catch(PDOException $$e)

{

echo "Error: " . $$e->getMessage();

}

$$conn = null;

echo "</table>";

?>