我是php新手,这是我的第一个脚本:
function tinyf_users_add($name,$password,$email,$isadmin)
{
global $tf_handle;
// define area
$name = trim($name);
$password = trim($password);
$email = trim($email);
$isadmin = trim($isadmin);
$n_email= mysql_real_escape_string (strip_tags($email),$tf_handle);
$n_pass = md5($password);
$n_name = mysql_real_escape_string (strip_tags($name),$tf_handle);
$n_iseadmin = abs(intval($isadmin));
// check if not empty data
if ((empty($name)) || (empty($password)) || (empty($email)) || (empty ($isadmin)))
return false;
else if (!filter_var($n_email,FILTER_VALIDATE_EMAIL)) // check if valid email
return false;
else{
$query = sprintf("INSERT INTO `users` (NULL, '%S', '%s', '%s', '%d')",$n_name,$n_pass,$n_email,$n_iseadmin);
$qresult = mysql_query($query);
if (!$qresult){
return false;
}
else{
return true;
}
}
}
这是添加功能但是当我使用函数
时它不起作用tinyf_users_add('yanal','ss','ss@ss.ss',0);
无效
db connect code
<?php
$tf_host = 'localhost';
$tf_dbname = 'tinyforum';
$tf_username = 'root';
$tf_password = 'root';
$tf_handle = @mysql_connect($tf_host,$tf_username,$tf_password);
if (!$tf_handle)
die('conn filad ');
$tf_db_result = mysql_select_db($tf_dbname);
if (!$tf_db_result){
die ('filed');
}
@mysql_query("SET NAMES 'utf8'");
function tinyf_db_close()
{
global $tf_handle;
@mysql_close($tf_handle);
}
?>
答案 0 :(得分:2)
在您的插入查询中,您忘记了Values
子句添加:
$query = sprintf("INSERT INTO `users` VALUES (NULL, '%S', '%s', '%s', '%d')",$n_name,$n_pass,$n_email,$n_iseadmin);
^^^ add here
注意:不要使用mysql_ *,因为它已被弃用。
答案 1 :(得分:0)
您的SQL查询错误。您需要在值之前指定字段:
试试这个:
$query = sprintf("INSERT INTO `users` (`field1`,`field2`,`field3`,`field4`,`field5`) VALUES (NULL, '%S', '%s', '%s', '%d')",$n_name,$n_pass,$n_email,$n_iseadmin);
答案 2 :(得分:0)
您可以试试吗,您错过了在查询中添加values
$query = sprintf("INSERT INTO `users` (`name`,`password`,`email`,`isadmin`) values ('%s', '%s', '%s', '%d')",
$n_name,
$n_pass,
$n_email,
$n_iseadmin);
$qresult = mysql_query($query, $tf_handle) or die(mysql_error());