gpt4 book ai didi

php - 如何从mysql表中选择所有数据,其中列是数组或单个,并且我的值与该数组的一项匹配?

转载 作者:行者123 更新时间:2023-11-29 08:21:19 24 4
gpt4 key购买 nike

请问有人可以帮助我吗?我想选择 mysql 表中的所有值,其中我想要检查获取值的列与单个值或值数组混合......所以更清楚地说,我有一个表来存储来自许多的所有消息发送者到一个或多个接收者......

我的功能是

public static function find_messagesTo_by_user_id($mess_to=0) {
global $database;
$mess_to = $database->escape_value($mess_to);
$sql = "SELECT * FROM ".self::$table_name;
$sql .= " WHERE mess_to = '{$mess_to}'";
$sql .= " AND mess_deleted = 0";
$sql .= " ORDER BY mess_created_date DESC";
$result_array = parent::find_by_sql($sql);
return $resultrray;
}

所以 'mess_to ' 有数组和单个值......它们只是数字,如 (1, 15, 25 ,26 ,27 , array(1,25, 27) , 31, 42, ..... ..)

拜托,我对此很头疼:)

我在等待任何帮助吗?

最佳答案

基于@Maluchi 的回答。确保您的数据如下所示:

| mess_to         |
+-----------------+
| ,123, |
| ,123,456,152,1, |
| ,456,567, |
| ,3, |

因此将每个值括在 , 中。那么你可以安全地做:

WHERE `mess_to` LIKE "%,{$mess_to},%"

这可确保 $mess_to = 1 仅匹配第二行,而不匹配第一行。

<小时/>

您还可以对数据进行反规范化并创建一个表来JOIN

关于php - 如何从mysql表中选择所有数据,其中列是数组或单个,并且我的值与该数组的一项匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19322561/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com