php - 使用 php 在 VARCHAR 中查找并替换

标签 php mysql session mysqli

$participants 是 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,以防万一它在那里。我试过了

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

但它不起作用。有想法吗?

最佳答案

您可以执行以下操作:

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

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

从表中选择*,其中参与者喜欢“%q2q%”;

然而,正如 RiggsFolly 所说,这是一种可怕的数据存储方式。创建一个参与者表,其中包含主键、主表的外键以及参与者 ID。

例如

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

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

关于php - 使用 php 在 VARCHAR 中查找并替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35974724/

相关文章:

php - 使用 xmlhttprequest 检索 json 格式的数据

Python 请求 : Passing multiple client certificates to session. 证书

ruby-on-rails - 在 Ruby on rails 中测试时更改规范中 session 变量的值。(使用 capybara 和 Selenium )

使用正则表达式更新 mysql

python - 从数据库或 session 数据填充字段的正确方法是什么?

php - 我使用服务器发送事件(和 Javascript/PHP)的连接总是立即断开

javascript - jQuery $ .ajax-从成功函数调用错误函数?

php - 仅在 PHP 中上传某些文件(运行 Docker for Windows)

MySQl 字段类型

mysql - 在连接到mysql RDS时启动Hive 3.1 Metastore错误