0
我處於PDO學習曲線的最初階段,沉浸在我可以學習的所有內容中。請您建議下面的代碼是否是最好的方法。我想找到如果用戶有多個SQL Server表中的條目PHP PDO sqlsrv執行多個SELECT COUNT
try {
$conn = new PDO("sqlsrv:Server=$pdoServer;Database=$pdoDatabase;", $pdoUID, $pdoPWD);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
} catch (PDOException $e) {
die(error_log(print_r("Could not connect to SQL Server".$e->getMessage(), TRUE), 0));
}
if (isValidUsername($username)) {
$res_sites = $res_PR = $res_TA = array();
try {
$stmt_PR = $conn->prepare("SELECT Count(*) AS PRcounter FROM tbl1 WHERE usr_username=:username");
$stmt_TA = $conn->prepare("SELECT Count(*) AS TAcounter FROM tbl2 WHERE usr_username=:username");
$stmt_PR->bindParam(':username',$username,PDO::PARAM_STR);
$stmt_TA->bindParam(':username',$username,PDO::PARAM_STR);
$stmt_PR->execute();
$stmt_TA->execute();
$res_PR = $stmt_PR->fetch();
$res_TA = $stmt_TA->fetch();
$stmt_sites = $conn2->query("SELECT site_ID,site_name FROM tbl3 WHERE isDeleted IS NULL ORDER BY site_name ASC");
while ($row = $stmt_sites->fetch(PDO::FETCH_ASSOC)){
$res_sites[$row['site_ID']]['site_name']=$row['site_name'];
}
} catch (PDOException $e) {
echo "Error occurred. Error message: ". $e->getMessage();
}
/* do more stuff... */
}
正如預期的那樣,返回的輸出是
$res_PR: array(2) {["PRcounter"]=>string(1) "0" [0]=>string(1) "0"}
$res_TA: array(2) {["TAcounter"]=>string(1) "0" [0]=>string(1) "0"}
$res_sites: array(211) {[0]=>array(3) {["site_ID"]=>string(1) "1" ["site_name"]=>...}
這是代碼的幾個部分,我一個工作上。當頁面加載時,我將從7個表中拉回一行。是上述罰款,還是可以準備多個語句,然後在單個execute()語句中執行?
非常感謝。
太棒了......非常感謝:) – ChrisM