使用php

时间:2016-03-13 19:27:19

标签: php mysql session mysqli

$参与者在MYSQL中是VARCHAR,看起来像q1qq2qq3qq4qq5qq6q。我想要的是有一个if语句 如果找到q$_SESSION["UserID"]q,则执行,也就是说,我希望它在$participants中找到一些输入,例如q2q。 我不知道怎么写这个。 $_SESSION["UserID"]是MYSQL数据库中的id列之一,因此等于2等数字。

我在php

中尝试了以下内容
if(strpos($participants, q$_SESSION["UserID"]q)){
    echo "succeeded";
};

但它不起作用。此外,我还希望能够带走q$_SESSION["UserID"]q,以防万一。{1}}。我试过了

$participants = preg_replace("q{$_SESSION["UserID"]}q", "", $participants);

但它不起作用。想法?

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

if(strpos($participants, "q" . $_SESSION["UserID"] . "q") !== FALSE){
    echo "succeeded";
};

或者您可以在MySQL中使用LIKE语句,例如

SELECT * FROM table WHERE participants LIKE "%q2q%";

然而,正如RiggsFolly所说,这是一种存储数据的可怕方式。使用主键,主表的外键和参与者ID创建参与者表。

E.g。

participantinstanceid int primary key
instanceid int foreign key -> Your instance table
participantid int foreign key -> participant table

这样您就可以根据instanceid查询表以获取所有参与者。如果您需要进一步的帮助,我很乐意帮助您建立更好的数据库结构。