gpt4 book ai didi

php - 读取 mysql 表直到第一个逗号

转载 作者:行者123 更新时间:2023-11-29 07:06:53 24 4
gpt4 key购买 nike

我有这个问题:

$sql = "SELECT * FROM tutorials WHERE ( device LIKE '%".$device."%' AND version LIKE '%".$version."%' AND firmware LIKE '%".$firmware."%' ) LIMIT 1";

表格:

device | a, b, c, d
version | 2, 3, 4
firmware | 5

现在我想要从设备 (a)、版本 (2) 和固件 (5) 到第一个逗号的第一个字符串,或者如果没有逗号则整个文本。

我想到了 explode(),但我真的不知道。我更喜欢 php,因为我想回显数字。

最佳答案

MySQL解决方案:

SELECT  SUBSTRING_INDEX(`device`, ',', 1),
SUBSTRING_INDEX(`version`, ',', 1),
SUBSTRING_INDEX(`firmware`, ',', 1)
FROM `tutorials` WHERE `id`=123 LIMIT 1 /*
Why LIMIT? `id` should be unique */

PHP 解决方案:

function first_value($str) {
$pos = strpos($str, ',');
if ($pos !== false)
return substr($str, 0, $pos);
return $str;
}
$q = mysql_query('SELECT * FROM `tutorials` WHERE `id`='. (int)$id .' LIMIT 1 ');
$arr = mysql_fetch_array($q);

$arr['device'] = first_value($arr['device']); // etc

但正如 Kerrek SB 所说,您真的应该规范化您的表格。

关于php - 读取 mysql 表直到第一个逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6803853/

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