0

我将如何通过 php 选择并显示 mysql 行,并告诉 php 它的值是什么?谢谢。

这是我尝试过的代码,但我不知道从那里去哪里。我是一个巨大的 php 菜鸟。

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

3 回答 3

0

您首先需要建立与数据库的连接。如果您使用的是过程式 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 手册上的文档

于 2013-07-24T07:15:14.390 回答
0

好的。为你查询崩溃问题!请注意,您写的是这样的:1 - “创建一个变量。调用该变量notificationchk。另外,将该变量设为字符串”

2 - 现在我们有了一个不错的变量,它带有一个不错的字符串。你猜怎么着?该字符串是一个函数的消息,一个从数据库访问内容的函数。该数据库具有表,就像任何体面的数据库一样。您感兴趣的表格称为“通知”

3 - 但是数据库的名称是什么?好吧,我假设您已经知道,因为尝试从表中提取数据而不指向数据库有点永远无法正常工作,除非您非常非常幸运......所以我猜你知道你的数据库是什么,但我没有,所以我称它为“STUFF”。除了“通知”之外,“STUFF”可能还有其他一些表格。但是,这与我们无关,因为我们需要来自这张表的数据:“通知”。但是,在您可以访问数据库 STUFF 中的表“通知”之前,您需要“指向”该 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 - 我可以说更多......但我会告诉你两件事:点击教程/书籍,没有其他方法:) 第二件事是:每次之后总是检查错误,我的意思是每次“查询”你给的命令。初学者教程可能不会强调这一点,但只是这样做。你最终会得到很多,并为你所做的感到非常自豪。

健康长寿·繁荣昌盛 _\//

于 2013-07-24T03:09:06.437 回答
0

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

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

$link = mysqli_connect("yourhost", "yourusername", "yourpassword", "yourdatabase");

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

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 tutorials 中输入,但请记住 mysql 函数已被贬值或将要被贬值,因此请确保你查看的教程中包含关键字 mysqli。

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

php中数据库连接的视频

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

希望这有帮助。

谢谢你

于 2013-07-24T06:35:26.803 回答