SQL LIKE查询,使用会话名称

时间:2013-11-15 09:26:40

标签: php mysql sql-like

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

$_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的所有内容。

它没有显示任何错误

希望有人可以帮助我 在此先感谢

3 个答案:

答案 0 :(得分:0)

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

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

如果“$ status”设置为Foo,则查询将返回; Foobar,如果Foobar是您数据库中的一个值,它也会返回BarFoo和BarFooBar。数据库中存在的时间很长,将返回一个值。

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

答案 1 :(得分:0)

你真的质疑“$status”。意思是代替消息,比如'你好,这是一条消息',你得到'$ status' 将最后一行更改为

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

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

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

答案 2 :(得分:-3)

变量通过。

连接到字符串
$result = mysql_query("SELECT bericht,naam,datum FROM discussies WHERE bericht='".$status."'");