亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 pdo 在一個查詢中對兩個值進行 rowCount?

如何使用 pdo 在一個查詢中對兩個值進行 rowCount?

PHP
臨摹微笑 2022-06-17 10:00:51
我正在嘗試創建一個注冊頁面,并且需要驗證用戶名和電子郵件是否已經退出。如果我在兩個查詢中執行此操作,它可以正常工作,但切換到一個查詢,則它無法正常工作,有時它不會驗證值之一。我嘗試如下,但它不能正常工作,有時它不驗證電子郵件或用戶名:  $uname = $_POST['username'];  $email = $_POST['email'];    $sql = "SELECT uid FROM users WHERE username = :username OR email = :email";    $stmt1 = $pdo->prepare($sql);    $stmt1->bindParam(":username", $uname, PDO::PARAM_STR);    $stmt1->bindParam(":email", $email, PDO::PARAM_STR);    $stmt1->execute();    if($stmt1->rowCount() == 1){    $rows = $stmt1->fetch();      if($rows['username'] == 1){        $errors['username'] = "Username already in use.";      }else{        $username = $uname;      }      if($rows['email'] == 1){        $errors['email'] = "Email already in use.";      }else{        $email= $email;      }    }    unset($stmt1);
查看完整描述

2 回答

?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

rowCount當用戶名或電子郵件匹配時,方法返回 >= 1 條記錄。試試那個代碼:


$username = $_POST['username'];

$email = $_POST['email'];

$errors = array();


$sql = "SELECT username, email FROM users WHERE username = :username OR email = :email";

$stmt1 = $pdo->prepare($sql);

$stmt1->bindParam(":username", $username, PDO::PARAM_STR);

$stmt1->bindParam(":email", $email, PDO::PARAM_STR);

$stmt1->execute();


if($stmt1->rowCount() > 0){

    $rows = $stmt1->fetchAll();


    foreach($rows as $row) {

        if($row['username'] === $username) {

            $errors['username'] = "Username already in use.";

        }


        if($row['email'] === $email) {

            $errors['email'] = "Email already in use.";

        }

    }

    $stmt1->closeCursor();

}


查看完整回答
反對 回復 2022-06-17
?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

你只是從這個查詢中得到計數

$sql = "SELECT uid FROM users WHERE username = :username OR email = :email";

代替

$sql = "SELECT uid,count(uid) FROM users WHERE username = :username OR email = :email";

希望它對單個查詢有所幫助


查看完整回答
反對 回復 2022-06-17
  • 2 回答
  • 0 關注
  • 92 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號