第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

MYSQLI 到 PDO 指南

MYSQLI 到 PDO 指南

PHP
皈依舞 2021-06-29 04:24:14
我正在慢慢地將有 MSQLI 的網(wǎng)站頁(yè)面轉(zhuǎn)換為 PDO。但是我有登錄腳本的這一部分,我不確定它是否可以在 PDO 中完成,如果不能,是否有人對(duì)如何使其安全有任何建議。它與下面的代碼部分有關(guān),它是一個(gè)與 $pass_fail 變量相關(guān)的多查詢,然后是一個(gè)我可能可以解決的單個(gè)選擇查詢 $pass_fail_query 變量。但它是我在使用 PDO 時(shí)遇到的多查詢,我該如何執(zhí)行它?$pass_fail = "  DELETE FROM `login_fail`  WHERE    `last_fail_login` < DATE_SUB(NOW(), INTERVAL 5 MINUTE);";$pass_fail .= "  INSERT INTO login_fail (    user_id,    email,    last_fail_login,    fail_login_ip  ) VALUES (    '$user_id',    '$email',    '$last_login_date',    '$ip'  );";$pass_fail .= "  UPDATE members SET    `last_fail_login` = '$last_login',    `fail_login_ip`= '$ip'  WHERE    email = '$email'";$pass_fail_query = "  SELECT    *  FROM `login_fail`  WHERE    `email` = '$email'    AND `last_fail_login` > date_sub(now(), interval 5 minute)";
查看完整描述

1 回答

?
慕森卡

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊

只需將它們創(chuàng)建為單獨(dú)的查詢。


$pass_fail_delete = $pdo->prepare("

  DELETE FROM `login_fail`

  WHERE

    `last_fail_login` < DATE_SUB(NOW(), INTERVAL 5 MINUTE);

");

$pass_fail_insert = $pdo->prepare("

  INSERT INTO login_fail (

    user_id,

    email,

    last_fail_login,

    fail_login_ip

  ) VALUES (

    :user_id,

    :email,

    :last_login_date,

    :ip

  );

");

$pass_fail_update = $pdo->prepare("

  UPDATE members SET

    `last_fail_login` = :last_login,

    `fail_login_ip`= :ip

  WHERE

    email = :email

");

$pass_fail_query = $pdo->prepare("

  SELECT

    *

  FROM `login_fail`

  WHERE

    `email` = :email

    AND `last_fail_login` > date_sub(now(), interval 5 minute)

");

然后,而不是使用mysqli_multi_query()執(zhí)行$pass_fail在一個(gè)調(diào)用,執(zhí)行3個(gè)查詢:


$pass_fail_delete->execute();

$pass_fail_insert->execute([':user_id' => $user_id, ':email' => $email, ':last_login_date' => $last_login_date, ':ip' => $ip]);

$pass_fail_update->execute([':last_login' => $last_login, ':ip' => $ip, ':email' => $email]);

$pass_fail_query->execute([':email' => $email]);


查看完整回答
反對(duì) 回復(fù) 2021-07-02
  • 1 回答
  • 0 關(guān)注
  • 151 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)