静态数组值有效,但动态不起作用



我正在使用ajax request发送一些复选框值,名称为"id"。这是CSV文件生成器的一部分。

$pid=$_POST['id'];
$idarray1=array();
$idarray1  = explode(",",$pid);
foreach($idarray as $jesarray){
    printf( "SELECT * FROM clents where clientid='".$jesarray."'");
}

此代码显示客户端 ID 为空的 sql 查询。

但是当我输入静态值时

$idarray1=array(36,37);
foreach($idarray as $jesarray){
    printf( "SELECT * FROM clents where clientid='".$jesarray."'");
}

它工作完美.

你们能帮我错在哪里吗..

这是因为 foreach 变量中的语法错误。

你输入$idarray而不是 $idarray 1

改变

foreach($idarray as $jesarray){
    printf( "SELECT * FROM clents where clientid='".$jesarray."'");
}

foreach($idarray1 as $jesarray){
    printf( "SELECT * FROM clents where clientid='".$jesarray."'");
}

对于这种值,这里不需要使用 foreach 循环,只需使用 IN 即可。让它变得简单,无数组。

$pid = $_POST['id']; //36,37
printf('SELECT * FROM clents where clientid IN ($pid)');

最新更新