此代码出错:致命错误:在第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 关注
- 381 浏览
添加回答
举报
0/150
提交
取消