2013-02-10 107 views
1

我試圖把輸入表單放在我的數據庫中,但它不起作用。這裏是我的代碼:php輸入到mysql數據庫

<?php 

$host="localhost"; // Host name 
$username="removed"; // Mysql username 
$password="removed"; // Mysql password 
$db_name="removed"; // Database name 
$tbl_name="input"; // Table name 

// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

// Get values from form 
$email=$_POST['email']; 

// Insert data into mysql 
$sql="INSERT INTO $tbl_name(email) VALUES('$email')"; 
$result=mysql_query($sql); 

// if successfully insert data into database, displays message "Successful". 
if($result){ 
echo "Successful"; 
echo "<BR>"; 
echo "<a href='insert.php'>Back to main page</a>"; 
} 

else { 
echo "ERROR"; 
} 
?> 

<?php 
// close connection 
mysql_close(); 
?> 

<form class="form-signin" method="post" action="./php/email2db.php"> 
<input type="text" name="email" class="input-block-level" placeholder="Email address"> 
<button class="btn btn-primary" type="submit">Pass The Popcorn</button> 
</form> 

你能不能幫我把它所以當他們出來它是不言而喻的數據庫?我想要它,它不是那麼請幫助。

+1

「它不會工作」具體發生了什麼? – element119 2013-02-10 01:21:50

+4

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並且被正式棄用](http://j.mp/XqV7Lp)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 – Kenzo 2013-02-10 01:22:41

+0

另外,將''$ host「,」$ username「,」$ password「'更改爲'$ host,$ username,$ password' – element119 2013-02-10 01:23:13

回答

0


我覺得您的查詢應該是這樣的:

<?php 

$host="localhost"; // Host name 
$username="removed"; // Mysql username 
$password="removed"; // Mysql password 
$db_name="removed"; // Database name 
$tbl_name="input"; // Table name 

// Connect to server and select database. 
mysql_connect($host, $username, $password)or die("cannot connect"); 
mysql_select_db($db_name)or die("cannot select DB"); 
//Removed the " from $db_name, $host, $username, $password 

// Get values from form 
$email=$_POST['email']; 

// Insert data into mysql 
$sql="INSERT INTO ".$tbl_name." (email) VALUES(".$email.")"; 
//Here you have to concatenate the query from multiple parts, this is important 
//And you cant use "$tbl_name(email)" 
$result=mysql_query($sql); 

// if successfully insert data into database, displays message "Successful". 
if($result){ 
echo "Successful"; 
echo "<BR>"; 
echo "<a href='insert.php'>Back to main page</a>"; 
} 

else { 
echo "ERROR"; 
} 
?> 

<?php 
// close connection 
mysql_close(); 
?> 
+0

@Mudasir Nazir認真嗎?你甚至在代碼中複製我的評論... – BadJoke 2013-06-14 18:18:14

0

你的代碼應該是

<?php 
$host="localhost"; // Host name 

$username="removed"; // Mysql username 
$password="removed"; // Mysql password 
$db_name="removed"; // Database name 
$tbl_name="input"; // Table name 

// Connect to server and select database. 
$conn = mysql_connect($host, $username, $password)or die("cannot connect"); 
mysql_select_db($db_name,$conn)or die("cannot select DB"); 
//Removed the " from $db_name, $host, $username, $password 
// Get values from form 
$email=$_POST['email']; 
// Insert data into mysql 
$sql="INSERT INTO `".$tbl_name."` (`email`) VALUES('".$email."')"; 
//Here you have to concatenate the query from multiple parts, this is important 
$result=mysql_query($sql); 
// if successfully insert data into database, displays message "Successful". 
if($result) 
{ 
    echo "Successful"; 
    echo "<br/>"; 
    echo "<a href='insert.php'>Back to main page</a>"; 
} 

else 
{ 
    echo "ERROR"; 
} 
?> 
0

使用INSERT INTO $tbl_name(email) VALUES('$email')你基本上是說,你的表的名稱爲$ tbl_name (電子郵件)的情況並非如此。您需要將sql重寫爲INSERT INTO「。$ tbl_name。」 (電子郵件)VALUES(「。$ email。」)