2013-10-08 52 views
-1

已回答 嗯,這很有趣。基本上它不需要做我認爲的事情。事實證明,我的數據庫中的id字段以某種方式搞砸了,並且每次嘗試插入新行時都試圖輸入第二個數字0主鍵。所以我刪除了id列並重新創建它,確保將其標記爲自動遞增,並且不在其中輸入任何數據,以便它可以自動遞增而不會中斷。現在它似乎工作正常facepalm無法將表單數據插入數據庫

感謝大家給它一個重擊!

已更新 因此,該通知的問題得到了解決。現在的問題是,我仍然堅持一個空白的屏幕,我沒有任何信息真正進入我的數據庫。我沒有任何可以看到或想到的錯誤,但它不會將任何內容插入到數據庫中。每個人都告訴我,我應該做POD或其他什麼,但我沒有時間從頭開始。如果任何人都可以想到任何可能導致白屏的事情,我已經做了很多改變,我會弄溼自己XD

我已經更新了我的代碼,以我目前正在運行。有任何想法嗎?我在我的繩子T.T

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', '1'); 

$hostname = "myHostName"; 
$username = "PreRegCustomers"; 
$dbname = "PreRegCustomers"; 
$password = "myPassword"; 
$usertable = "CustomerInfo"; 

//connect to mysql 
$link_id = mysql_connect($hostname, $username, $password); 
if (!$link_id) { 
    die("Unable to connect to database! Please try again later. error:".mysql_errno()); 
} 
//make sure DB exists 
if (!mysql_select_db($dbname)) die ("Connected to mysql but could not connect to the DB. error:".mysql_errno()); 

//avoid sql_injection 
$firstName = mysql_real_escape_string($_POST['firstName']); 
$lastName = mysql_real_escape_string($_POST['lastName']); 
$streetAddress = mysql_real_escape_string($_POST['streetAddress']); 
$city = mysql_real_escape_string($_POST['city']); 
$state = mysql_real_escape_string($_POST['state']); 
$zip = mysql_real_escape_string($_POST['zip']); 
$country = mysql_real_escape_string($_POST['country']); 
$email = mysql_real_escape_string($_POST['email']); 
$phone = mysql_real_escape_string($_POST['phone']); 
$badgeName = mysql_real_escape_string($_POST['badgeName']); 

//write the query 
$sql = "INSERT INTO $usertable 
    (firstName, lastName, streetAddress, city, state, zip, country, email, phone, badgeName) 
    VALUES ('$firstName', '$lastName', '$streetAddress', '$city', '$state', '$zip', '$country', '$email', '$phone', '$badgeName')"; 

//execute the query 
mysql_query($sql); 
?> 

的原貼底:


所以我很新的PHP。現在就像2天,我試圖讓我的Web表單將數據插入與爸爸託管的MySQL數據庫。我嘗試了一堆不同的東西,我知道php已啓用並正在工作,我有一個DNS,我已經得到了死亡的白色屏幕,但在對代碼進行了一些更改之後,我剛剛收到一條提示:

注意:未定義指數:上線26

現在據我知道國家/home/content/85/11323785/html/devTest/insert2.php,我應該能夠忽略通知,但它仍然沒有將任何內容插入到我的數據庫中。我只是在地址欄中輸入我的.php文件,並獲得一個空白白屏。

任何幫助將是恆星!我的代碼如下。

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', '1'); 

$hostname = "myHostName"; 
$username = "PreRegCustomers"; 
$dbname = "PreRegCustomers"; 
$password = "myPassword"; 
$usertable = "CustomerInfo"; 

//connect to mysql 
$link_id = mysql_connect($hostname, $username, $password); 
if (!$link_id) { 
    die("Unable to connect to database! Please try again later. error:".mysql_errno()); 
} 
//make sure DB exists 
if (!mysql_select_db($dbname)) die ("Connected to mysql but could not connect to the DB. error:".mysql_errno()); 

//avoid sql_injection 
$firstName = mysql_real_escape_string($_POST['firstName']); 
$lastName = mysql_real_escape_string($_POST['lastName']); 
$streetAddress = mysql_real_escape_string($_POST['streetAddress']); 
$city = mysql_real_escape_string($_POST['city']); 
$state = mysql_real_escape_string($_POST['state']); 
$zip = mysql_real_escape_string($_POST['zip']); 
$country = mysql_real_escape_string($_POST['country']); 
$email = mysql_real_escape_string($_POST['email']); 
$phone = mysql_real_escape_string($_POST['phone']); 
$badgeName = mysql_real_escape_string($_POST['badgeName']); 

//write the query 
$sql = "INSERT INTO $usertable 
    (firstName, lastName, streetAddress, city, state, zip, country, email, phone, badgeName) 
    VALUES ('$firstName', '$lastName', '$streetAddress', '$city', '$state', '$zip', '$country', '$email', '$phone', '$badgeName')"; 

//execute the query 
mysql_query($sql); 
?> 
+0

第一:不要在新代碼中使用mysql_'函數!它已被棄用,請使用'mysqli_'或PDO。準備好的語句(你應該看看的東西)也可以減輕你想要在查詢中使用的每個變量的消毒過程。 – TheWolf

+3

這意味着'$ _POST ['country']'爲空。即它不是從FORM發送的。檢查你的HTML FORM是否具有''或'