此代碼出錯:致命錯誤:在第42行的C:\ Users \ fel \ VertrigoServ \ www \ login \ validation.php中的非對象上調用成員函數prepare()碼: function repetirDados($email) { if(!empty($_POST['email'])) { $query = "SELECT email FROM users WHERE email = ?"; $stmt = $pdo->prepare($query); // error line: line 42 $email = mysql_real_escape_string($_POST['email']); $stmt->bindValue(1, $email); $ok = $stmt->execute(); $results = $stmt->fetchAll(PDO::FETCH_ASSOC); if ($results == 0) { return true; } else { echo '<h1>something</h1>'; return false; } } }可能的原因是什么?另一個問題,相當于mysql_num_rows什么?對不起,我是pdo的新手
3 回答

冉冉說
TA貢獻1877條經驗 獲得超1個贊
$pdo
未定義。你沒有在函數中聲明它,并且它不是作為參數傳遞的。
您需要將其傳遞給(好),或者在全局命名空間中定義它,并通過置于global $pdo
頂部(壞)使其可用于您的函數。

江戶川亂折騰
TA貢獻1851條經驗 獲得超5個贊
我遇到了同樣的問題,但我確實通過在同一頁面中連接數據庫來解決它,而不僅僅是包含聯合頁面。它對我有用
<?php
try {
$pdo = new PDO('mysql:host=localhost;dbname=tish_database;charset=utf-8','root','');
} catch(PDOException $e){
echo 'Connection failed'.$e->getMessage();
}
?>
- 3 回答
- 0 關注
- 398 瀏覽
添加回答
舉報
0/150
提交
取消