2013-01-05 35 views
0

有人可以幫助下面的代碼。我試圖創建一個註冊查詢,但是當它被提交,我得到一個錯誤的下面一行:SQL第一項沒有添加到數據庫中

$insert_query = "insert into members (First_name, last_name, Address_1, Address_2, Postcode, Email, Membership_Number, Password) values('$fname','$lname','$address1','$address2','$postcode','$email','$member','$password')"; 

這僅影響FIRST_NAME,因爲其他字段名成功提交。

您的幫助將不勝感激!

<?php 
$con = mysql_connect("localhost","root","") or die(mysql_error()); 
$select_db = mysql_select_db("thistlehc",$con); 
if(isset($_POST['register'])) 

$fname = mysql_real_escape_string($_POST['fname']); 
$lname = mysql_real_escape_string($_POST['lname']); 
$address1 = mysql_real_escape_string($_POST['address1']); 
$address2 = mysql_real_escape_string($_POST['address2']); 
$postcode = mysql_real_escape_string($_POST['postcode']); 
$email = mysql_real_escape_string($_POST['email']); 
$member = mysql_real_escape_string($_POST['member']); 
$password = mysql_real_escape_string($_POST['password']); 

$query = "select membership_number from members where membership_number='$member'"; 
$link = mysql_query($query)or die(mysql_error()); 
    $num = mysql_num_rows($link); 

    if ($num>0){ 
     echo 'Membership Number already exists'; //Membership number already taken 
    } 

    else { 
    $insert_query = "insert into members (First_name, last_name, Address_1, Address_2, Postcode, Email, Membership_Number, Password) values('$fname','$lname','$address1','$address2','$postcode','$email','$member','$password')"; 
    $result = mysql_query($insert_query)or die(mysql_error()); 
    echo "Registered Successfully!"; 
    } 

?> 
+1

什麼錯誤,你得到?你可以把它添加到你的文章? – Lix

+0

'注意:未定義的變量:第24行的Send_user_details.php中的fname 這就是上面顯示的行 –

+0

你的$ fname變成null類型,所以在mysql中它變成空白值 – kirugan

回答

2

看起來對我來說就像你忘了封裝你的if聲明的內容。

if(isset($_POST['register'])) 

因爲它沒有圍繞要執行的代碼的大括號,所以只執行緊接着的第一行。在你的情況下,if聲明看似返回false,並且定義$fname的行是而不是執行,因此是未定義的變量。

你想使用類似的東西 -

if(isset($_POST['register'])){ 
$fname = mysql_real_escape_string($_POST['fname']); 
$lname = mysql_real_escape_string($_POST['lname']); 
$address1 = mysql_real_escape_string($_POST['address1']); 
... 
} 
相關問題