2013-10-30 58 views
-3

我遇到了插入數據庫的問題。查詢成功完成,但是當我查看數據庫時,這些字段是空的。插入數據庫返回空?

這裏是我的HTML表單:

<form action = "add_at.php" method = "post"> 
    <input type = "text" class = "userip" name="userip"> 
    <input type = "text" class = "coordinates" name="coordinates"> 
    <input type = submit> 
</form> 

這裏是我的PHP腳本:

<?php 

$mysql_host ='host'; 
$mysql_user ='user'; 
$mysql_pass ='pass'; 
$mysql_database = 'database'; 
$user_ip = $_POST['userip']; 
$user_cords = $_POST['coordinates']; 

mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die('unable to connect.'); 
mysql_select_db($mysql_database); 
$query = "INSERT INTO `userips` (ip,cord) VALUES ('$user_ip','$user_cords')"; 

mysql_query($query) or die('nope, sorz.'); 
mysql_close(); 

echo('woot wooooooooooooot') 

?> 

更新:

我發現這個問題。 我需要在我的HTML表單中添加\到我的輸入字段之一。 簡單的錯誤。不過謝謝大家的幫忙。

+4

needz moar woots。 –

+0

你如何知道查詢成功完成?你沒有做任何檢查結果。您也完全沒有辦法保護自己免受SQL注入。 –

+1

$ _POST中實際上是否有任何值? var_dump,告訴我們...並告訴我們更多! –

回答

0

你應該檢查,看看是否您的帖子變量調用你的SQL命令之前設置。

如...

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

而且,你是開放的SQL注入。

1

嘗試mysql_error()後查詢。我認爲你的查詢中有一個SQL錯誤。你應該看看SQL注入。

mysql_query($query) or die('nope, sorz.'); 
echo mysql_error(); 
mysql_close(); 

編輯:

$query = "INSERT INTO `userips` (ip,cord) VALUES ('".mysql_real_escape_string($user_ip)."','".mysql_real_escape_string($user_cords)."')"; 
+0

沒有錯誤,它只是向我的空白記錄插入數據庫。 – user2898560

+0

然後你的POST變量沒有設置。 – Stony

+0

我發現了這個問題。 我需要在我的HTML表單中添加\到我的輸入字段之一。 簡單的錯誤。不過謝謝大家的幫忙。 – user2898560