我是新來的PHP,這是我的第一個腳本:錯誤張貼到MySQL
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','[email protected]',0);
它不工作不工作
DB連接代碼
<?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);
}
?>
首先從消除所有的'@'你的代碼,然後告訴我們你得到了什麼錯誤。 –
嘗試從你的函數返回$查詢,並執行echo $查詢以查看是否有效 – Hackerman
sprintf中的錯字,將%S替換爲%s – sdespont