在 PHP 中根据主键值而不是行号检索特定 MySQL 字段数据

发布于 2024-12-11 19:39:52 字数 852 浏览 0 评论 0原文

我试图找到从 MySQL 数据库中提取特定字段数据并在网页上引用它的正确方法,使用数据行中的主键(INT)而不是行号。我们尝试过:

$sql = "SELECT * FROM ourTable";
$result = mysql_result($sql, $con);
echo mysql_results($sql,$con);
echo mysql_result($result, 2, "pageTitle");
echo "<br />";
echo mysql_result($result, 2, "pageDate");`

但这会根据行号返回值。相反,我们希望引用数据库中的 pageID 来填充 pageTitle 和 pageDate 信息。

($con 变量在此块之前被引用)

所以说在我的数据库中我有:

pageID   页面标题    页面日期
001        第1页      1885年
002        第2页       1976年
003          Page3      1776

例如,在网页上,数据将是打印如下:

标题:第1页
日期:1885

预先感谢您的任何帮助。

I'm trying to find the correct way of pulling specific field data from a MySQL database and referencing it on a web page, using the primary key (an INT) in the row of data instead of the row number. we tried:

$sql = "SELECT * FROM ourTable";
$result = mysql_result($sql, $con);
echo mysql_results($sql,$con);
echo mysql_result($result, 2, "pageTitle");
echo "<br />";
echo mysql_result($result, 2, "pageDate");`

But this returns values based on row number. Instead we would like to make reference to the pageID in our database to populate the pageTitle and pageDate information.

(The $con variable is referenced before this block)

so say in my database I have:

pageID    pageTitle    pageDate
001            Page1       1885

002            Page2       1976

003            Page3       1776

As an example, on the web page, the data will be printed like:

Title: Page1

Date: 1885

Thanks in advance for any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

很糊涂小朋友 2024-12-18 19:39:52

您的查询正在选择表中的所有行。稍后您可以按行在结果数组中的位置提取行。但是,您永远不要对行的存储或返回顺序做出任何假设,除非您使用ORDER BY 关键字。否则,无法保证您的行将按照您插入行的顺序返回。

就像 MichaelMior 所说,您可以使用 WHERE 关键字根据列的值选择行。

$id = "001";
$sql = "SELECT * FROM ourTable WHERE pageID='$id'";
$result = mysql_result($sql, $con);

// Since you're selecting based on a unique key, you'll get only 0 or 1 rows
if( mysql_num_rows($result) == 1)
{
  // Parse the result
  echo mysql_result($result, 0, "pageTitle");
  echo "<br />";
  echo mysql_result($result, 0, "pageDate");
}

编辑,澄清: 主键 根据定义是唯一的。

Your query is selecting all rows from the table. You later extract a row by its position in the results array. However, you should never make any assumptions about the order that your rows are stored or returned, unless you're using the ORDER BY keyword. Otherwise, you're not guaranteed that your rows will be returned in the order that you inserted them.

Like MichaelMior said, you can use the WHERE keyword to select a row based on the value of a column.

$id = "001";
$sql = "SELECT * FROM ourTable WHERE pageID='$id'";
$result = mysql_result($sql, $con);

// Since you're selecting based on a unique key, you'll get only 0 or 1 rows
if( mysql_num_rows($result) == 1)
{
  // Parse the result
  echo mysql_result($result, 0, "pageTitle");
  echo "<br />";
  echo mysql_result($result, 0, "pageDate");
}

Edit, clarification: A primary key is by definition unique.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文