2015-10-14 141 views
0

我正在使用此代码,我尝试运行它,但它显示此错误并尝试修复它,但我不知道如何?谁能帮我? :Mysqli中的警告消息:mysqli_stmt_bind_param()期望参数1为mysqli_stmt,布尔给定?

Warning: mysqli_stmt_bind_param() expects parameter 1 to be mysqli_stmt, boolean given in /home/u330779411/public_html/Register.php on line 10 

Warning: mysqli_stmt_execute() expects parameter 1 to be mysqli_stmt, boolean given in /home/u330779411/public_html/Register.php on line 11 

Warning: mysqli_stmt_close() expects parameter 1 to be mysqli_stmt, boolean given in /home/u330779411/public_html/Register.php on line 13 

这里是我的代码:

$name = $_POST['name']; 
$matric_number = $_POST['matric_number']; 
$username = $_POST['username']; 
$password = $_POST['password']; 

$statement = mysqli_prepare($con, "INSERT INTO Users (name, matric_number, username, password) VALUES (?, ?, ?, ?)"); 
mysqli_stmt_bind_param($statement, "siss", $name, $matric_number, $username, $password); 
mysqli_stmt_execute($statement); 

mysqli_stmt_close($statement); 

mysqli_close($con); 

是否

+0

'var_dump($ statement);'它可能会说错误 – 2015-10-14 02:10:25

+0

@Dagon的意思是?代码不正确? – rafein

+0

是否为假?是这样mysqli_prepare()有错误 – 2015-10-14 02:13:58

回答

0

按照PHP Docs

mysqli_prepare()返回一个语句对象或FALSE如果发生错误。

由于您的警告声明给出了布尔值,所以很可能是发生了错误。因为@Dagon建议检查$statement是否设置为false,所以我建议您做var_dump($statement)。您可能还想检查$con。我假设你省略了那部分,并且你在代码中早些时候正确地初始化了它,但是确保你正在检查mysqli_connect_error()

相关问题