使用PHP查询SQL DB中的单个单元格

时间:2019-01-11 21:09:00

标签: php mysql

如果您将我的问题标记为重复,那么请确保链接到的问题不是特定于其他人的应用程序的示例。

----------------------
|       Table        |
----------------------
| ID |  Name | Color |
----------------------
| 1  |  Ae   |  Red  |
| 2  |  Be   |  Red  |
| 3  |  Ce   |  Red  |
| 4  |  De   |  Red  |
----------------------

我的问题是,说我想进行SQL查询以使用PHP从第一行中选择 ONLY (唯一)ID号。我该怎么办?

这是我尝试过的:

php

    $host = "localhost";
    $name = "db";
    $user = "root"
    $pass = "password";

    $connection = mysqli_connect($host, $user, $password) or die("Failed");
    mysqli_select_db($connection, $name) or die("Failed");

    $id = mysqli_query($connection, "SELECT id FROM db WHERE id=0");
    $row = mysqli_fetch_assoc($id);

    echo "$id";

为什么这样不起作用?什么需要更改为输出1而只有1?请ELI5,SQL伤了我的脑筋。

1 个答案:

答案 0 :(得分:3)

在SQL方面,您必须在“顺序”方面定义“第一”,例如:

SELECT id FROM db ORDER BY id LIMIT 1

您要在结果中按id列进行排序,该列默认为升序(1、2、3,...),并用{{ 1}}子句。要获得最高值,您需要LIMIT降序排列,并选择第一个值。

在您的情况下应用此方法,可以使用bind_result来获取ID值:

ORDER BY id DESC

SQL乍一看似乎令人困惑。如果您认为这就像编写像PHP这样的过程代码,那是错误的思维定势。这是一种查询语言,它本身并不像编程那样,而是关于声明所需内容并让服务器弄清楚并返回数据的方式。

好消息是SQL已经存在了数十年,并且有很好的文档记录,甚至包括您在此处使用的MySQL语言。除了MySQL手册之外,还有无数关于数据库和SQL的书籍,无论是在理论上还是在实践上。如果仍然令人困惑,您可能需要找到更好的介绍和参考。