Php 函数准备查询
我正在或试图为该大学执行数据库项目,但注册用户时出现以下错误: 致命错误:对(…)中的非对象调用成员函数bind_param() 起初我写Php 函数准备查询,php,mysql,mysqli,bindparam,Php,Mysql,Mysqli,Bindparam,我正在或试图为该大学执行数据库项目,但注册用户时出现以下错误: 致命错误:对(…)中的非对象调用成员函数bind_param() 起初我写 $insert = $db->prepare("INSERT INTO customer (name, email, phonenumber, adress, password) VALUES (?, ?, ?, ?, ?"); 但后来我改成了,你可以在代码中看到 <?php require 'db/connect.php'; require
$insert = $db->prepare("INSERT INTO customer (name, email, phonenumber, adress, password) VALUES (?, ?, ?, ?, ?");
但后来我改成了,你可以在代码中看到
<?php
require 'db/connect.php';
require 'functions/security.php';
if(!empty($_POST)) {
if(isset($_POST['name'], $_POST['email'], $_POST['address'], $_POST['phone'], $_POST['password'])) {
$name = trim($_POST['name']);
$email `enter code here` = trim($_POST['email']);
$phone = trim($_POST['phone']);
$address = trim($_POST['address']);
$password = trim($_POST['password']);
if(!empty($name) && !empty($email) &&!empty($phone) && !empty($address) &&!empty($password)){
$insert = $db->prepare("INSERT INTO customer VALUES (?, ?, ?, ?, ?");
$insert->bind_param('ssiss', $name, $email, $phone, $address, $password);
//$insert->close();
if($insert->execute()){
print_r("Done");
die();
}
}
}
}
?>
调用查询中的成员函数意味着查询无法执行,因为它包含错误 在本例中,您没有关闭值()。 将
$insert=$db->prepare(“插入客户值(?,,,?,?,?”);
更改为$insert=$db->prepare(“插入客户值(?,,,,,,?)”);
确保检查是否可以执行错误。
检查是否可以执行查询的示例:
$query = $this->_db->prepare("SELECTTEST name FROM user"); //.. Bad query (false)
if(!$query) //.. If the query is false.
{
trigger_error('Query couldn\'t get executed');
}
如果这解决了您的错误,我将非常感谢您将我的答案作为答案投票。您的准备行出现语法错误。您需要在最后一个问号后加上括号。如果您要修剪所有帖子字段,您可以这样做:$\u post=array\u map(“trim”,$\u post);可能重复