我玩游戏有点晚了,正在尝试从 mysql_* 过渡到 PDO,同时尝试应对当前的挑战。我有一个界面,我在其中捕获数组中的框编号值,并且该数组按行项存储在另一个数组中(为了清楚起见,这些是嵌套数组)。
我的主要目的是获取特定行项目的框号并运行 mysql 选择查询以返回给定框中的单元数。如果框中的数量不是用户认为的数量,我希望它抛出错误。
目前我的挑战是我得到一个空的结果集。我相信这是由于我的框号数组没有正确传递给 PDO 选择语句。任何想法或指导将不胜感激。
这是我到目前为止所拥有的:
$Boxes = $_POST['Boxes']; //this includes box numbers within an array for each line item of a form
$e = 0;
while($e<$num1){
$units = 0;
$r = 0;
$SO_Line_Item=mysql_result($result1,$e,"SO_Line_Item");
foreach ($Boxes[$e] as $a => $b) // the purpose of this loop is to take the values from Boxes and store it in $zzz which I hope to use in my Select statement below.
{
$zzz[] = $Boxes[$e][$r];
$r++;
}
//end inner foreach
$BNs= implode(',', $zzz);
$db = new PDO('mysql:host=XXXXXX ;dbname=XXXXXX', $dbuser,$dbpass);
$stmt = $db->prepare("SELECT Box_Num,Timestamp,SN,Assy_Status FROM Current_Box WHERE Box_Num IN(' . $BNs . ')");
$stmt->execute($zzz);
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($results); // this shows up as an empty array
}
$e++;
}