$参与者在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);
但它不起作用。想法?
答案 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查询表以获取所有参与者。如果您需要进一步的帮助,我很乐意帮助您建立更好的数据库结构。