我使用此查询来执行会话,但它在网站上不起作用
$_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 的列内的所有内容。
它不显示任何错误
希望有人可以帮助我解决这个问题提前致谢
$result = mysql_query
("
SELECT bericht,
naam,
datum
FROM discussies
WHERE bericht LIKE '%$status%'
");
将两个 (%) 百分比符号追加到查询。一个在变量之前,一个在变量之后。
如果"$status"设置为 Foo,则查询将返回;Foobar,如果 Foobar 是数据库中的值,它也会返回 BarFoo 和 BarFooBar。只要数据库中存在 ,就会返回一个值。
在开头或结尾附加百分号将排除 BarFooBar,并且仅在值存在时才返回该值,以及字符串本身之前(或之后,您选择的)任何其他信息。
你从字面上查询了" $status
"。意思是不是消息,比如"你好,这是一条消息",你得到了"$status"
将最后一行更改为
$result = mysql_query("SELECT bericht,naam,datum FROM discussies WHERE bericht LIKE '" . $status . "'");
尝试将查询字符串分配给变量,使用 echo
或调试器检查变量,然后查询它。在我看来,这使得调试SQL查询变得更加容易。如果这不起作用,计算的字符串会变成什么?
我知道这是迟到的答案,但我希望它可以帮助某人。
变量与字符串相连。
$result = mysql_query("SELECT bericht,naam,datum FROM discussies WHERE bericht='".$status."'");