0

我正在使用此查询来执行会话,但它在网站上不起作用

$_SESSION['bericht'] = $stamVanStatus;

$status = $_SESSION['bericht'];
print_r($status);
$result = mysql_query("SELECT bericht,naam,datum FROM discussies WHERE bericht LIKE '$status'");

Print_r 向我显示了我从 post 函数发送的消息,我想将其与列进行比较。在该列中,我创建了几条用于测试的消息。它应该将它与我在数据库中的数据进行比较,但这似乎不起作用,因为我只看到了我发送的打印消息。当我将 LIKE 函数更改为例如“%Test%”时,它会显示列内的所有内容,其中包含文本中的 Test。

它没有显示任何错误

希望有人可以帮助我提前致谢

4

3 回答 3

0

您从字面上查询“ $status”。意思而不是消息,比如“你好,这是一条消息”,你得到了 '$status'
最后一行更改为

$result = mysql_query("SELECT bericht,naam,datum FROM discussies WHERE bericht LIKE '" . $status . "'");

尝试将查询字符串分配给变量,使用echo或调试器检查变量,然后查询它。在我看来,这使得调试 SQL 查询变得更加容易。如果这不起作用,评估的字符串会变成什么?

我知道这是迟到的答案,但我希望它可以帮助某人。

于 2014-08-27T00:00:55.890 回答
0
$result = mysql_query
("
               SELECT bericht,
                      naam,
                      datum 
               FROM discussies 
                  WHERE bericht LIKE '%$status%'
");

在查询中附加两个 (%) 百分号。一个在变量之前,一个在变量之后。

如果 "$status" 设置为 Foo,则查询将返回;Foobar,如果 Foobar 是数据库中的一个值,它也会返回 BarFoo 和 BarFooBar。只要 存在于数据库中,就会返回一个值。

在开头或结尾添加百分号将排除 BarFooBar 并且仅在存在时返回该值,以及字符串本身之前(或之后,您的选择)的任何其他信息。

于 2013-11-15T10:53:04.567 回答
-3

变量用 连接到字符串。

$result = mysql_query("SELECT bericht,naam,datum FROM discussies WHERE bericht='".$status."'");
于 2013-11-15T09:27:28.807 回答