Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 添加注册日期并获取';对布尔值';上的成员函数bind_param()的调用;错误_Php_Mysql_Mysqli - Fatal编程技术网

Php 添加注册日期并获取';对布尔值';上的成员函数bind_param()的调用;错误

Php 添加注册日期并获取';对布尔值';上的成员函数bind_param()的调用;错误,php,mysql,mysqli,Php,Mysql,Mysqli,我正在做一个项目,刚刚有人告诉我需要在我的注册表中添加一个注册日期,然后我做了我认为应该解决的事情,但是却得到了一个致命的错误。这个代码有什么问题?因为在我添加注册日期+当前时间戳之前,它工作得非常好 $firstname = $_POST['firstname']; $surname = $_POST['surname']; $email = $_POST['email']; $address = $_POST['address']; $postcode = $_POST['postcode'

我正在做一个项目,刚刚有人告诉我需要在我的注册表中添加一个注册日期,然后我做了我认为应该解决的事情,但是却得到了一个致命的错误。这个代码有什么问题?因为在我添加注册日期+当前时间戳之前,它工作得非常好

$firstname = $_POST['firstname'];
$surname = $_POST['surname'];
$email = $_POST['email'];
$address = $_POST['address'];
$postcode = $_POST['postcode'];
$telephone = $_POST['telephone'];
$username = $_POST['username'];
$password = $_POST['password'];

$q = "INSERT INTO tbl_customers (firstname, surname, email, address, postcode, telephone, username, password, registration_date)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)";

$stmt = $dbc->prepare($q);
$stmt->bind_param('ssssssss', '$firstname', '$surname', '$email', '$address', '$postcode', '$telephone', '$username', md5('$password'), CURRENT_TIMESTAMP);

$r = $stmt->execute();

if ($r === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $q . "<br>" . $dbc->error;
}
$firstname=$\u POST['firstname'];
$姓氏=$_POST['姓氏'];
$email=$_POST['email'];
$address=$_POST['address'];
$postcode=$_POST['postcode'];
$telephone=$_POST['telephone'];
$username=$_POST['username'];
$password=$_POST['password'];
$q=“插入tbl_客户(名字、姓氏、电子邮件、地址、邮政编码、电话、用户名、密码、注册日期)
值(?,,,,,,,,,,,,?)”;
$stmt=$dbc->prepare($q);
$stmt->bind_参数('ssss'、'firstname'、'names'、'email'、'address'、'postcode'、'telephone'、'username',md5('password')、当前_时间戳);
$r=$stmt->execute();
如果($r==TRUE){
echo“新记录创建成功”;
}否则{
echo“Error:”.$q.“
”$dbc->Error; }

谢谢。

任何时候你收到

“致命错误:在布尔值上调用成员函数bind_param()”

…这可能是因为您的查询存在问题。
prepare()
可能返回
FALSE
(一个布尔值),但是这个通用的失败消息不会给您留下太多线索。你如何找出你的问题所在?你问


首先,确保错误报告已打开且可见:在打开
Prepare后立即将这两行添加到文件顶部,否则可能返回false。您应该对此进行检查。如果包含错误消息,您可能会获得更多帮助。请在适当的位置再添加一个“?”和“s”。您现在有9个字段,但其中只有8个。添加一个额外的“?”和“s”返回错误”无法通过引用传递参数2“好的,我已经对它进行了半排序,我现在有一个问题,它将当前的\u时间戳保存为实际的日期/时间,如何使变量等于当前的\u时间戳?现在我有$registration\u date=当前时间戳;
error_reporting(E_ALL);
ini_set('display_errors', 1);
$sql = "SELECT `foo` FROM `weird_words` WHERE `definition` = ?";
$query = $mysqli->prepare($sql)); // assuming $mysqli is the connection
$query->bind_param('s', $definition);
$query->execute();
$sql = "SELECT `foo` FROM `weird_words` WHERE `definition` = ?";
if($query = $mysqli->prepare($sql)) { // assuming $mysqli is the connection
    $query->bind_param('s', $definition);
    $query->execute();
    // any additional code you need would go here.
} else {
    $error = $mysqli->errno . ' ' . $mysqli->error;
    echo $error; // 1054 Unknown column 'foo' in 'field list'
}