Php 为什么它总是在非对象上说致命错误绑定参数
在prepare语句中看起来像是一个错误。试试这个:Php 为什么它总是在非对象上说致命错误绑定参数,php,fatal-error,Php,Fatal Error,在prepare语句中看起来像是一个错误。试试这个: <?php include('db_conx.php'); $username= $_POST ['username']; $password= $_POST ['password']; //Test: echo "<h1>Username: $username</h1>"; echo "<h1>Password: $password</h1>"; $mysqli=new
<?php
include('db_conx.php');
$username= $_POST ['username'];
$password= $_POST ['password'];
//Test:
echo "<h1>Username: $username</h1>";
echo "<h1>Password: $password</h1>";
$mysqli=new mysqli
('localhost','1800758_robbie','mypassword', '1800758_robbie');
$stmt=$mysqli->prepare("SELECT username, password FROM
1800758_robbie.users3 WHERE username=? AND password=? LIMIT 1");
**$stmt->bind_param('ss', $username,$password);**
$stm->execute();
$stmt-> store_result();
$res=$stmt->num_rows();
if($res == 1) {echo "You have successfully logged in.";}else{echo " the
username and password you've supplied is not valid.";}
?>
您不需要引用
users3
表的数据库名称,您已经在数据库连接中指定了该表。如果仍然不起作用,请确保您的表中确实有名为username
和password
的字段,如果添加var\u dump($stmt),您会得到什么代码>就在$stmt->bind_param('ss',$username,$password)上方代码>?它可能意味着$mysqli->prepare(…)代码>未成功准备语句。打印$stmt
对象,看看它会给您带来什么错误。我必须承认,我不知道打印$stm对象是什么。@War10ck是最后一个comment@jd182我使用了它,还有JC Sama,我得到了这个错误“bool(false)致命错误:调用成员函数bindParam()在第12行的/srv/disk11/1800758/www/robbiesgayventures.atwebpages.com/forum2/login.php中的非对象上”
"SELECT username, password FROM users3 WHERE username=? AND password=? LIMIT 1"