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

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

在函數內部調用 PDO 失敗

在函數內部調用 PDO 失敗

PHP
動漫人物 2023-07-21 18:08:21
我正在嘗試使用一個函數來執行我的所有 PDO 查詢。我在使用該函數時遇到 500 錯誤。如果我不使用該函數,我能夠成功執行代碼。您會注意到下面的工作代碼塊和非工作代碼塊之間的唯一區別是函數的使用。為什么在函數內部調用代碼時會失???作品:try {  $conn = new PDO($dsn, $username, $password, $options);}catch (PDOException $e){  echo "Connection failed: " . $e->getMessage();}$info = array();$info['fname'] = $_POST['fname'];$info['lname'] = $_POST['lname'];$info['email'] = $_POST['email'];$info['password'] = password_hash($_POST['password'], PASSWORD_DEFAULT);$info['datecreated'] = date("Y-m-d H:i:s");$sql = "INSERT INTO Users (fname, lname, email, password, datecreated)VALUES (:fname, :lname, :email, :password, :datecreated)";try {    $stmt=$conn->prepare($sql);    $stmt->execute($info);}catch (PDOException $e){    echo $sql . "PDO query failed: <br>" . $e->getMessage();}不起作用try {  $conn = new PDO($dsn, $username, $password, $options);}catch (PDOException $e){  echo "Connection failed: " . $e->getMessage();}$info = array();$info['fname'] = $_POST['fname'];$info['lname'] = $_POST['lname'];$info['email'] = $_POST['email'];$info['password'] = password_hash($_POST['password'], PASSWORD_DEFAULT);$info['datecreated'] = date("Y-m-d H:i:s");$sql = "INSERT INTO Users (fname, lname, email, password, datecreated)VALUES (:fname, :lname, :email, :password, :datecreated)";function pdoquery ($sql, $info){        try {        $stmt=$conn->prepare($sql);        $stmt->execute($info);    }    catch (PDOException $e)    {        echo $sql . "PDO query failed: <br>" . $e->getMessage();    }}pdoquery($sql,$info);
查看完整描述

1 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

嘗試以下


$info = array();

$info['fname'] = $_POST['fname'];

$info['lname'] = $_POST['lname'];

$info['email'] = $_POST['email'];

$info['password'] = password_hash($_POST['password'], PASSWORD_DEFAULT);

$info['datecreated'] = date("Y-m-d H:i:s");


$sql = "INSERT INTO Users (fname, lname, email, password, datecreated)

VALUES (:fname, :lname, :email, :password, :datecreated)";


function pdoquery ($sql, $info, $conn){

    

    $stmt=$conn->prepare($sql);

    $stmt->execute($info);

    return $stmt;

}


pdoquery($sql,$info, $conn);

簡而言之,您忘記傳遞$conn給您的函數。


查看完整回答
反對 回復 2023-07-21
  • 1 回答
  • 0 關注
  • 129 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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