gpt4 book ai didi

php - 使用 mysql where in 语句时将文本值包装在字符串中

转载 作者:行者123 更新时间:2023-11-29 23:46:07 26 4
gpt4 key购买 nike

我有一个值数组,我将其分解为一个逗号分隔的列表,以便在 mysql where in 子句中使用。

SELECT count(id) FROM products WHERE id in (val1, val2, 3, 4, 5);

当文本值未用引号引起来时,此语句将中断。

所以理论上我需要先循环遍历列表并在传递到 mysql 语句之前包装所有文本值。有什么想法吗?

代码示例:

$skus = array();

foreach($csv_array as $row)
{
$skus[] = $row['skunumber'];
}

$skulist = implode(",",$skus);

我修复了它:

foreach ($csv_array as $row)
{
if (is_numeric($row['skunumber']))
{
$skus[] = $row['skunumber'];
}
else
{
$skus[] = '"'.$row['skunumber'].'"';
}
}

$skulist = implode(",",$skus);

最佳答案

一些快速建议:

$arr = array('var', 3, 'var2', '5');

$inStr = "('".implode("', '", $arr)."')";

给出:

('var', '3', 'var2', '5')

最后:

SELECT count(id) FROM products WHERE id in $inStr;

关于php - 使用 mysql where in 语句时将文本值包装在字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25936521/

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