选择并显示mysql行,同时告诉php它的值


Select and then display mysql row and also tell php what its value is?

如何通过php选择和显示mysql行,并告诉php它的值是多少?谢谢

这是我尝试过的代码,但我不知道该从哪里开始。我是一个巨大的php noob。

$notificationchk = "SELECT * FROM notification WHERE username='$_SESSION['username']'";

好。为你查询crash couse!请注意,您写的是:1-"创建一个变量。调用该变量notificationchk。此外,使该变量成为字符串"

2-现在我们有了一个漂亮的变量,它携带了一个很好的字符串。你猜怎么着?这个字符串是一个函数的消息,这个函数访问数据库中的内容。这个数据库有表,就像任何一个像样的数据库一样。你感兴趣的表格叫做"通知"

3-但是数据库的名称是什么?好吧,我想你已经知道了,因为尝试从表中提取数据而不指向数据库是永远不会正常工作的,除非你非常非常幸运。。。所以我猜你知道你的数据库是什么,但我不知道,所以我称它为"STUF"。"STUFF"可能有除"notification"之外的其他一些表。但是,这与我们无关,因为我们需要一个表中的数据:"通知"。但是,在访问数据库STUFF中的表"notification"之前,您需要"指向"该STUFF数据库。您需要USE命令,如在"USE STUFF"中。。。是的,在你刚刚为我们写的那行之前;)

4-但请稍等……甚至在我们尝试"USE stuff"命令之前,我们就需要连接到对数据库执行操作的程序。。。但我也假设你已经知道。。。

5-好吧,看到那些漂亮的命令了吗?使用和选择。您还需要其他类似INSERT和DELETE的功能。然而,重要的是,这些不是PHP命令。惊喜!!将它们视为"MySQL命令"。

6-困惑?PHP只是将这些命令传递给MySQL引擎,这就是为什么它们是字符串。你写的那句漂亮的话实际上是"嘿,php,你能创建一个名为‘notificationchk’的字符串吗?"。现在怎么办?现在,您需要另一个php命令来将该字符串实际发送到MySQL。命令是"mysql_query",这是一个非常好的函数。

7-所以在那之后,你会这样做:

$resultOfQuery=mysql_query($notificationchk,$conn)

我的朋友,是一个新变量(我们称之为"$resultOfQuery"),它将是函数mysql_query使用连接"$conn"发送请求"$notificationchk"的结果,您必须在这一切发生之前创建该连接。在这之前,您确实使用了"mysql_connect"命令,对吧?总之(呵呵)你写的这句话本身只是你必须学习的整体的一小部分。但这一点都不难。如果我做到了,任何人都可以:D

8-我可以说更多。。。但我要告诉你两件事:点击教程/书籍,没有其他方法:)第二件事是:每次都要检查错误,我指的是你给出的每个"查询"命令。初学者的教程可能不会强调这一点,但要做到这一点。你最终会得到很多教程,并为自己做到了而感到非常自豪。

长寿和繁荣_''//

您只需要在字符串中有一个查询,这并不过分。你需要做很多事情。

首先建立与数据库的连接。

$link=mysqli_connect("您的主机"、"您的用户名"、"密码"、"数据库");

然后检查连接是否有任何错误

if (mysqli_connect_errno())
{
    printf("Connect failed: %s'n", mysqli_connect_error());
    exit();
}

然后你可以有一个变量来保存你已经完成的查询,最好准备参数化查询

$notificationchk = "SELECT `column1`, `column2` FROM notification WHERE 
username='$_SESSION['username']'";

由于您将返回一些行,因此需要一个变量来保存结果

$results = mysqli_query($link, $notificationchk) or die(some error message);

上面的语句执行查询,如果查询失败,将终止页面并给出错误。

一旦你得到结果,你想遍历它返回的行,最好使用while循环

while($rows = mysqli_fetch_assoc($results))
{
    //do whatever you want in here as it loops through the rows
    echo $rows['column1'].' '.$rows['column2'].'<br>';
}

这将只在返回的每一行的单独一行上打印第1列和第2列的值。

有关更多信息,请查看php手册,非常清晰的教程。

PHP手册

在某些教程中,您可能倾向于键入google-mysql.php教程,但请记住,mysql函数已经贬值或将贬值,因此请确保您查看的教程中包含关键字mysqli。

如果你不喜欢像我一样阅读,这里有一个很好的视频

php 中数据库连接的视频

观察第1部分和第2部分,展示了连接到数据库的好例子,并观察其他tut,看看他是如何查询数据库的。

希望这能有所帮助。

谢谢

您首先需要建立到数据库的连接。如果您使用的是过程PHP,那么它的创建方式如下:

$connection = mysqli_connect("localhost", "my_user", "my_password", "test");
mysqli_select_db($connection, "db");

之后您进行查询:

$notificationchk = "SELECT * FROM notification WHERE username='$_SESSION['username']'";

然后用查询该字符串

$result = mysqli_query($connection, $notificationchk);

然后遍历行并显示它们:

while ($row = mysqli_fetch_array($result)) {
    echo $row['desired_ column_name'] . "<br />";
}

就是这样。如果你想以面向对象的风格来做,请查看php手册

上的文档