我已经设置了一个函数,它使用插入语句将用户注册到站点中,然后另一个语句检查电子邮件是否已经存在于数据库中。
问题在于尝试将用户数据放入数据库的插入语句...浏览器输出可捕获的致命错误:类 mysqli 的对象无法转换为字符串...
我真的不明白是什么问题。Result1 是出现错误的查询。从语法的角度来看,我没有做错什么。我已经尝试了很多,但我找不到问题。通常此类错误出现在 SELECT 语句中。这是代码:
function register_enduser($post,$connection)
{ global $errorclass;
$name = $connection->real_escape_string($post['name']);
$lastname = $connection->real_escape_string($post['lastname']);
$email = $connection->real_escape_string($post['e-mail']);
$pass_hashed = password::hash($_POST['password']);
$passwd = $pass_hashed;
$usertype= $_POST['usertype'];
$connection->set_charset("utf8");
$result = $connection->query("select * from users where email='".$email."'");
if (!$result) {
throw new Exception('error');
return false;
}
elseif ($result->num_rows > 0) {
$errorclass['existentemail'] = ' e-mail allready exists.';
return $errorclass['existentemail'];
} else {
$result1 = $connection->query("insert into users values
(NULL,'".$name."','".$lastname."','"
.$email."','".$passwd."','".$pass_hashed."','".$usertype."')")or die($connection);
}
if (!$result1) {
throw new Exception('error.');
return false;
}
return true;
}