首页博客网络编程
PHP MySQL SELECT 用于访问 MySQL 数据库中的记录。
例复制
<?php echo "<table>"; echo "<tr><th>Id</th><th>Name</th><th>Surname</th></tr>"; class table_rows extends recursive_array_iterator { function __construct($it) { parent::__construct($it, self::LEAVES_ONLY); } function current_row() { return "<td>" . parent::current(). "</td>"; } function begin_children() { echo "<tr>"; } function end_children() { echo "</tr>" . "\n"; } } $server = 'server'; $user = 'user'; $pass = 'pass'; $db = 'db'; try { $con = new PDO("mysql:host=$server;dbname=$db", $user, $pass); $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //prepare the statement $statement = $con->prepare("SELECT user_id, name, surname FROM users"); // make the query array associative $statement->execute(); $result = $statement->setFetchMode(PDO::FETCH_ASSOC); //iterate through the queried data foreach(newtable_rows(newrecursive_array_iterator($stmt->fetchAll())) as $k => $v) { echo $v; } } catch(PDOException $e) { //set up an error message echo "Error message: " . $e->getMessage(); } $con = null; echo "</table>";?>
上面的查询示例从数据库中选择特定条目。或者,您可以使用星号 (*) 选择表格中的每一列。
注意:将所有 SQL 语句存储在一行代码中可确保它们正常运行。
在下面的示例中,我们在 users 表中选择 user_id、name 和 surname 列,并将其显示在我们的网页上:
例复制
<?php $server = 'server'; $user = 'user'; $pass = 'pass'; $db = 'db'; // establish connection $con = new mysqli($server, $user, $pass, $db); // see if connection has been established properly if ($conn->connect_error) { die("Failed to connect: " . $con->connect_error); } $sql = "SELECT user_id, name, surname FROM users"; $result = $con->query($sql); if ($result->num_rows > 0) { // display data from the query while($row = $result->fetch_assoc()) { echo "User Id: " . $row["user_id"]. " - Name: " . $row["name"]. " - Surname: " . $row["surname"]. "<br/>"; } } else { echo "0 results"; } $con->close(); ?>
首先,我们必须编写 PHP SQL 查询,选择 users 表中的user_id、名称和姓氏列。下一个代码行执行了一个 PHP SQL 查询,并将请求的数据放入我们称之为 .$result
完成此操作后,运行我们的结果数组以查看是否返回了任何变量。如果结果集中存在任何行,则该函数会将所有这些行放在可以轻松循环的关联数组中。循环用于遍历结果数组。它显示user_id、姓名和姓氏列的结果。num_rows()
fetch_assoc()
while()
下面的示例显示了如何使用 MySQLi 中的过程方法执行 PHP MySQL 查询:
例复制
<?php server = 'server'; $user = 'user'; $pass = 'pass'; $db = 'db'; // establish connection $con = mysqli_connect($server, $user, $pass, $db); // see if the connection has been established properly if (!$con) { die("Failed to connect: " . mysqli_connect_error()); } $sql = "SELECT user_id, name, surname FROM users"; $result = mysqli_query($con, $sql); if (mysqli_num_rows($result) > 0) { while ($row = mysqli_fetch_assoc($result)) { // display data from the query echo "User Id: " . $row["user_id"]. " - Name: " . $row["name"]. " - Surname: " . $row["surname"]. "<br>"; } } else { echo "0 results"; } mysqli_close($con); ?>
下一个示例演示如何将数据库条目显示为表。
例复制
<?php $server = 'server'; $user = 'user'; $pass = 'pass'; $db = 'db'; // establish connection $con = new mysqli($server, $user, $pass, $db); // see if the connection has been established properly if ($con->connect_error) { die("Failed to connect: " . $conn->connect_error); } $sql = "SELECT user_id, name, surname FROM users"; $result = $con->query($sql); if ($result->num_rows > 0) { echo "<table><tr><th>User Id</th><th>Name</th></tr>"; while ($row = $result->fetch_assoc()) { // display data from the query echo "<tr><td>".$row["user_id"]."</td><td>".$row["name"]." ".$row["surname"]."</td></tr>"; } echo "</table>"; } else { echo "0 results"; } $con->close(); ?>
我们将使用预准备语句使MySQL选择数据库条目。
选择用户表中的user_id、姓名和姓氏列,并将其显示在表中:
例复制
<?php echo "<table>"; echo "<tr><th>Id</th><th>Name</th><th>Surname</th></tr>"; class table_rows extends recursive_array_iterator { function __construct($it) { parent::__construct($it, self::LEAVES_ONLY); } function current_row() { return "<td>" . parent::current(). "</td>"; } function begin_children() { echo "<tr>"; } function end_children() { echo "</tr>" . "\n"; } } $server = 'server'; $user = 'user'; $pass = 'pass'; $db = 'db'; try { $con = new PDO("mysql:host=$server;dbname=$db", $user, $pass); $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //prepare the statement $statement = $con->prepare("SELECT user_id, name, surname FROM users"); // make the query array associative $statement->execute(); $result = $statement->setFetchMode(PDO::FETCH_ASSOC); //iterate through the queried data foreach(newtable_rows(newrecursive_array_iterator($stmt->fetchAll())) as $k => $v) { echo $v; } } catch(PDOException $e) { //set up an error message echo "Error message: " . $e->getMessage(); } $con = null; echo "</table>";?>
声明提示:若要转载请务必保留原文链接,申明来源,谢谢合作!
广告位
广告位