被打驗證碼整天得到了大部分的bug敲定了但我現在收到此錯誤消息現在我得到致命錯誤:調用一個成員函數準備()非對象上我的PHP形式
Fatal error: Call to a member function prepare() on a non-object in /home/jsnow/public_html/registration.php on line 26
這裏是我的代碼:內register()
,沒有定義
<?php
if(isset($_POST['username']) && isset($_POST['password']))
{
$db =connect('********','*********');
if($db!=false)
{
register($db);
echo "User registered";
}
}
function connect($dbuser,$dbpassword)
{
try{
$db = new PDO('mysql:host=localhost;dbname=jsnow_login', '*******' , '*********');
return $db;
}catch(PDOException $e){
echo $e;
return false;}
}
function register($db)
{
$result_set = $pdo->prepare("INSERT INTO `users` (`username`, `password`)
VALUES (:username, :password)");
$result_set->execute(array(
':username' => $username, ':password' => $password
));
}
?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form action="http://vps8383.***********.com/~jsnow/registration.php" method="post">
username:<input type="text" name="username"/>
password:<input type="password" name="password"/>
email<input type="text" name="e_mail"/>
<input type="submit"/>
</form>
</body>
</html>
'$ username'和'$ password'傳遞給register()函數在哪裏?並且該函數中的$ pdo'應該是'$ db' –
這不應該是'$ result_set = $ db-> prepare'的影響嗎? –
評論和答案一樣好;-)你真的需要注意這些,他們是「無價的」 –