开发者社区 问答 正文

PHP MySQL Select


SELECT 语句用于从数据库中选取数据。


从数据库表中选取数据


SELECT 语句用于从数据库中选取数据。

语法:


SELECT column_name(s) FROM table_name
注释:SQL 语句对大小写不敏感。SELECT 与 select 等效。
为了让 PHP 执行上面的语句,我们必须使用 mysql_query() 函数。该函数用于向 MySQL 发送查询或命令。

例子


下面的例子选取存储在 "Persons" 表中的所有数据(* 字符选取表中所有数据):
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("my_db", $con);

$result = mysql_query("SELECT * FROM Persons");

while($row = mysql_fetch_array($result))
  {
  echo $row['FirstName'] . " " . $row['LastName'];
  echo "<br />";
  }

mysql_close($con);
?>

上面这个例子在 $result 变量中存放由 mysql_query() 函数返回的数据。接下来,我们使用 mysql_fetch_array() 函数以数组的形式从记录集返回第一行。每个随后对 mysql_fetch_array() 函数的调用都会返回记录集中的下一行。 while loop 语句会循环记录集中的所有记录。为了输出每行的值,我们使用了 PHP 的 $row 变量 ($row['FirstName'] 和 $row['LastName'])。
以上代码的输出:
Peter Griffin
Glenn Quagmire


在 HTML 表格中显示结果


下面的例子选取的数据与上面的例子相同,但是将把数据显示在一个 HTML 表格中:
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("my_db", $con);

$result = mysql_query("SELECT * FROM Persons");

echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['FirstName'] . "</td>";
  echo "<td>" . $row['LastName'] . "</td>";
  echo "</tr>";
  }
echo "</table>";

mysql_close($con);
?>
以上代码的输出:
Firstname Lastname
Glenn Quagmire
Peter Griffin

展开
收起
游客nm6mpjb2722bc 2015-07-20 10:21:10 9180 分享 版权
阿里云 AI 助理回答

看起来您在询问有关使用SQL SELECT 语句从数据库中检索数据的信息,以及如何在PHP中使用这一过程。不过,请注意您的示例代码使用了已废弃的mysql_系列函数(如mysql_connect, mysql_query, 等),这些函数在现代PHP中不再推荐使用,因为它们已被移除,并且存在安全隐患。建议改用PDO(PHP Data Objects)或MySQLi扩展,这两个都提供了面向对象和预处理语句的功能,能更安全、高效地处理数据库交互。

下面是一个使用MySQLi扩展的示例,展示如何执行相似的查询并以HTML表格形式显示结果:

<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_dbname";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

$sql = "SELECT FirstName, LastName FROM Persons";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 输出数据表头
    echo "<table><tr><th>Firstname</th><th>Lastname</th></tr>";
    // 输出每行数据
    while($row = $result->fetch_assoc()) {
        echo "<tr><td>" . $row["FirstName"]. "</td><td>" . $row["LastName"]. "</td></tr>";
    }
    echo "</table>";
} else {
    echo "0 结果";
}
// 关闭连接
$conn->close();
?>

这段代码首先创建了一个到数据库的新连接,然后执行一个SELECT查询来获取Persons表中的所有FirstNameLastName。查询结果被循环遍历,每一行的数据都被输出到一个HTML表格中。这种方法更加安全,也符合现代PHP编程的最佳实践。

如果您正在使用阿里云的产品和服务,比如RDS(关系型数据库服务),上述代码同样适用,只需将 $servername, $username, $password, 和 $dbname 变量替换为您的阿里云RDS实例的相应凭据和数据库名即可。记得检查网络配置,确保应用服务器能够访问RDS实例。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答