gpt4 book ai didi

php - 如何在带有 'IN' 运算符的 Mysql 查询中使用数组值?

转载 作者:行者123 更新时间:2023-11-29 00:39:24 25 4
gpt4 key购买 nike

$_POST['domain'] 是某些表单的 CHECKBOX 具有 3 个或更多域值(C、C++、Java 等)的结果,其值现在保存在数组中“$域”。现在,我需要从我的表中选择与用户在 CHECKBOX 中选择的域相同的元组。

我尝试使用 FOR 循环,但它给了我一个 T_FOR 异常 错误什么的。现在我正在尝试使用 implode 函数,它不是 给出任何查询错误但不显示查询的任何结果 任何一个!问题出在查询的 IN 运算符中。如何 我能解决吗?

if(isset($_POST['domain']))
{
$Domain = $_POST['domain'];
$search=$_POST['search'];

$N = count($Domain);

echo("<p>You selected $N domain(s):<br/><br/> ");
for($i=0; $i < $N; $i++)
{
echo($Domain[$i] . "<br/> ");
}
echo("</p>");

$dom_str="'".implode("', '",$Domain)."'";

$query ="SELECT * FROM learner_object WHERE(lo_tag1='$search' || lo_tag2='$search' || lo_tag3='$search') AND
lo_domain IN ( ".$dom_str." ) ";

$result =mysql_query($query)
or die('query failed.'.mysql_error());

while($row = mysql_fetch_array($result))
{
echo "<a href=\" ".$row['lo_url']." \" target=\"_blank\" \">" . $row['lo_name'] . "</a> <br/> ";
echo $row['lo_desc']."<br/><br/>";
}
}
else
echo "<p>You didn't select any Domain.</p><br/>";

最佳答案

试试这个,

  $dom_str=!empty($Domain)?implode(",",$Domain):'default value';

$query ="SELECT * FROM learner_object WHERE(lo_tag1='$search' || lo_tag2='$search' || lo_tag3='$search') AND
lo_domain IN ($dom_str)";

关于php - 如何在带有 'IN' 运算符的 Mysql 查询中使用数组值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12920047/

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