我正在使用ajax request.with名称if" id"发送一些复选框值。这是CSV文件生成器的一部分。
$pid=$_POST['id'];
$idarray1=array();
$idarray1 = explode(",",$pid);
foreach($idarray as $jesarray){
printf( "SELECT * FROM clents where clientid='".$jesarray."'");
}
此代码显示clientid为空的SQL查询..
但是当我输入静态值时
$idarray1=array(36,37);
foreach($idarray as $jesarray){
printf( "SELECT * FROM clents where clientid='".$jesarray."'");
}
这是完美的。
你们可以在我错的地方帮助我吗?
答案 0 :(得分:0)
你的foreach vars中存在语法错误。
你输入 $ idarray 而不是 $ idarray1 :
更改
-- Solution #2: static query
SELECT
b.XmlCol.value('local-name(.)', 'SYSNAME') AS NC1_ColumnType,
b.XmlCol.value('.', 'VARCHAR(50)') AS NC2_Value -- Replace with propper data type and max length
FROM (
VALUES((SELECT *
FROM dbo.SourceTable_83648326
WHERE C1 = 'v11' -- It select required source row
FOR XML RAW, TYPE))
) a(XmlCol)
CROSS APPLY a.XmlCol.nodes(N'row/@*') b(XmlCol)
到
foreach($idarray as $jesarray){
printf( "SELECT * FROM clents where clientid='".$jesarray."'");
}
答案 1 :(得分:0)
这里不需要使用foreach循环,只需使用IN
。简单,没有阵列。
$pid = $_POST['id']; //36,37
printf('SELECT * FROM clents where clientid IN ($pid)');