2012-11-02 32 views
1
  • 列表項

目前我正在試圖將數據插入到從形式的mysql數據庫,但它不斷添加一個空字符串,如果有人可以看看我的代碼,並讓我知道如果有問題,將不勝感激。MySQL數據庫不能從形式接收數據

形式:

<body> 
<form method="post" action="input.php"> 
<input type="text" name="message" size="55"> 
<input type="submit"name="submit" value="Send"> 
</form> 
</body> 
</html> 

和PHP

<?php 
$host="myhost"; 
$user="myusername"; 
$database="mydatabase"; 
$table="mytable"; 
$connect=mysql_connect("$host","$user","mypassword"); 
if($connect){ 
echo "connected<BR/><hr/>"; 
$connect1=mysql_select_db("$database"); 
if($connect1){ 

mysql_query("INSERT INTO mytable(time,msg) VALUES('1','$message')"); 
echo "$message<BR/><hr/>"; 
} 
}else{ 
echo "problem"; 
} 
?> 

回答

3

的形式使用POST方法,那麼你可以訪問使用$_POST

變化$message日期$_POST['message']

mysql_query("INSERT INTO mytable(time,msg) VALUES('1','{$_POST['message']}')"); 
echo "{$_POST['message']}<BR/><hr/>"; 
提交

警告 注意:使用mysqliPDO。不推薦使用mysql函數,它很快就會被棄用。

另外,您應該在將數據插入數據庫之前添加驗證,以避免SQL注入或黑客入侵。你的代碼是不安全的,它是開放的攻擊。

+0

怎麼樣的SQL注入? – jao

+0

它給了我一個意外的錯誤T_ENCAPSED_AND_WHITESPACE,期待T_STRING或T_VARIABLE或T_NUM_STRING – Kenneth

+0

@jao OP應該照顧它。我在答覆中寫了一條警告信息。 –