2012-03-08 98 views
0

問候善良的人,PHP/MySQL的:保存值數據庫

我在使用PHP/MySQL和我是通過一個基本的任務,我碰釘子工作的編碼一個新人,當它來保存的值文本字段和複選框指向mysql數據庫。

這是我所能做的,但我仍然無法在數據庫中保存記錄。

我做錯了什麼或者我失去了什麼?

上午使用Macromedia的Dreamweaver 8,阿帕奇/ 2.2.12(Win32的)DAV/2的mod_ssl/2.2.12的OpenSSL/0.9.8k mod_autoindex_color PHP/5.3.0的mod_perl/2.0.4的Perl/v5.10.0 MySQL的客戶端版本5.1.37 PHP擴展:mysqli的

$con = mysqli_connect("localhost", "root", ""); 
if (!$con) { 
exit('Connect Error (' . mysqli_connect_errno() . ') ' 
     . mysqli_connect_error()); 
} 


if ($_POST['textfield'] == "") { 
     $FieldsEmpty= true; 
    } 
    else { 

     if ($FieldsEmpty) echo "Please enter all the fields<br/>"; 
    } 


if($_POST['Submit2'] == "Submit") 
{ 


$VarName = $_POST['textfield']; 
$VarOrg = $_POST['textfield2']; 
$VarAddress = $_POST['textfield3']; 
$VarPhone=$_POST ['textfield4']; 
$VarEmail=$_POST['textfield5']; 
$VarAccomodation=$_POST['checkbox']; 
$VarEntertainment=$_POST['checkbox2']; 
$VarTourOP=$_POST['checkbox3']; 
$VarDomesticTourism=$_POST['checkbox4']; 
$VarTourism=$_POST['checkbox5']; 
$VarTravelmgt=$_POST['checkbox6']; 
$VarSupport=$_POST['checkbox7']; 
$VarMedia=$_POST['checkbox8']; 
$VarDoc1=$_POST[$_FILES["file"]["name"]]; 
$VarDoc2=$_POST[$_FILES["file2"]["name"]]; 
$VarDoc3=$_POST[$_FILES["file3"]["name"]]; 
$Vardoc4=$_POST[$_FILES["file4"]["name"]]; 



$sql = "Insert into nominatons_tbl(name,org,address,phone,email,best_accomodation,best_entertainment,best_touroperator,best_domestictourism,best_tourism,best_travelmgt,best_support,best_media,doc1,doc2,doc3,doc4) VALUES (".PrepSQL($VarName) . ", " .PrepSQL($VarOrg) . ", " .PrepSQL($VarAddress) . ", " .PrepSQL($VarPhone) . ", " .PrepSQL($VarEmail) . ", " .PrepSQL($VarAccomodation) . ", " .PrepSQL($VarEntertainment) . ", " .PrepSQL($VarTourOP) . ", " .PrepSQL($VarDomesticTourism) . ", " .PrepSQL($VarTourism) . ", " .PrepSQL($VarTravelmgt) . ", " .PrepSQL($VarSupport) . ", " .PrepSQL($VarMedia) . ", " .PrepSQL($VarDoc1) . ", " .PrepSQL($VarDoc2) . ", " .PrepSQL($VarDoc3) . ", " .PrepSQL($Vardoc4) . ")"; 

mysql_query($sql); 
echo "Nomination submited <br />"; 

} 
function PrepSQL($value) 
{ 
// Stripslashes 
if(get_magic_quotes_gpc()) 
{ 
    $value = stripslashes($value); 
} 
// Quote 
$value = "'" . mysql_real_escape_string($value) . "'"; 
return($value); 

}

+0

什麼是錯誤信息? – rkosegi 2012-03-08 15:36:36

+1

請運行您正在使用的phpmyadmin或數據庫的查詢,並顯示您在插入數據時所得到的錯誤。 – Milap 2012-03-08 15:36:53

回答

0

保持單引號這樣

VALUES( ' 「.PrepSQL($ varname的)。」',「」。 PrepSQL($ VarOrg)。「');

0
  • 請檢查您是否獲取$ _POST變量中的所有值。
  • 無論何時您在插入查詢時發生錯誤,只需從數據庫運行查詢,您將得到最新的問題。

始終保持練習,使這樣的查詢。

$sql = "Insert into nominatons_tbl(`name`,`org`,`address`,`phone`,`email`,`best_accomodation`,`best_entertainment`,`best_touroperator`,`best_domestictourism`,`best_tourism`,`best_travelmgt`,`best_support`,`best_media`,`doc1`,`doc2`,`doc3`,`doc4`) VALUES 
(".PrepSQL($VarName) . ", " .PrepSQL($VarOrg) . ", " .PrepSQL($VarAddress) . ", " .PrepSQL($VarPhone) . ", " .PrepSQL($VarEmail) . ", " .PrepSQL($VarAccomodation) . ", " .PrepSQL($VarEntertainment) . ", " .PrepSQL($VarTourOP) . ", " .PrepSQL($VarDomesticTourism) . ", " .PrepSQL($VarTourism) . ", " .PrepSQL($VarTravelmgt) . ", " .PrepSQL($VarSupport) . ", " .PrepSQL($VarMedia) . ", " .PrepSQL($VarDoc1) . ", " .PrepSQL($VarDoc2) . ", " .PrepSQL($VarDoc3) . ", " .PrepSQL($Vardoc4) . ")";