写的函数也是正确的查询。但是信息不会保存在表用户的数据库中。 这是我打印时的查询。
INSERT INTO 'users' VALUE(NULL,'omardz','bankdz@gmail.com','3a9d086dcf50424fc60ccbc52173d49d','freelancer')
include('config.php');
//配置文件包括用户,传递,主机,数据库,连接没有任何问题!
function add_new_user($username,$email,$password,$type)
{
global $sbr_connect;
if(empty($username) || empty($email) || empty($password) || empty($type))
return false;
$n_username = mysql_real_escape_string(strip_tags($username),$sbr_connect);
$n_email = mysql_real_escape_string(strip_tags($email),$sbr_connect);
$n_password = md5(mysql_real_escape_string(strip_tags($password),$sbr_connect));
$n_type = mysql_real_escape_string(strip_tags($type),$sbr_connect);
$query = sprintf("INSERT INTO 'users' VALUE(NULL,'%s','%s','%s','%s')",$n_username,$n_email,$n_password,$n_type);
$qresult = mysql_query($query);
echo $query;
if(!$qresult)
return false;
return true;
}
$resultt= add_new_user('omardz','bankdz@gmail.com','mououuu','man');
if($resultt)
{
echo 'success';
sbr_db_close();
}
答案 0 :(得分:2)
您的查询的这一部分:
INSERT INTO 'users'
^ ^
您使用的是单引号,而不是正确的identifier qualifiers。
删除它们INSERT INTO users
或使用刻度
INSERT INTO `users`
or die(mysql_error())
到mysql_query()
会发出语法错误信号。
旁注:
考虑使用mysqli
with prepared statements或PDO with prepared statements,他们更安全。
参考文献:
关于密码存储。
MD5已经老了,被认为已经坏了。
使用CRYPT_BLOWFISH或PHP 5.5的password_hash()
功能。对于PHP< 5.5使用password_hash() compatibility pack
。
这个sbr_db_close();
显然是一个自定义函数,我不知道它是做什么的。所以确保有效。