0

我一直在用准备好的陈述为我的生命而战。我尝试过的每个站点都有不同的语法。这是我要完成的工作:

$stmt = $mysqli->prepare("SELECT IdNum FROM TOAWorkOrdersNew WHERE WorkDate = ? AND TechNum = ?");
$stmt2 = $mysqli->prepare("SELECT IdNum FROM CallVolume WHERE WorkDate = ? AND ANI = ?");

---loop
    ----loop

    $stmt->bind_param('ss', $IncDate, $TechNum);
$stmt->execute();
$stmt->store_result();

$WorkOrders = $stmt->num_rows;
$SubWorkOrders = $SubWorkOrders + $WorkOrders;

$stmt->free_result();
$stmt->close();


$stmt2->bind_param('ss', $IncDate, $CellNum);
$stmt2->execute();
$stmt2->store_result();


$CallCount = $stmt2->num_rows;
$SubCallCount = $SubCallCount + $CallCount;

$stmt2->free_result();
$stmt2->close();

    }
}

语句返回 NULL。

4

1 回答 1

1

你不应该$stmt->close()在循环内调用。一旦您关闭该语句,它就不再记得它是用什么来准备的。

此外,您不需要$stmt->bind_param()每次都通过循环调用。参数绑定到引用,因此您可以在循环之前执行一次,然后只需更新循环内的变量。

于 2013-07-08T19:08:48.860 回答