2013-09-10 25 views
0

我一直在搞亂php和sql現在很多小時。但它沒有給我任何錯誤,它不會將數據從表單上傳到數據庫。我不知道它是否違反規則,但如果有人可以調試我的代碼,我會非常高興。 我試圖從表單「meist」中獲取數據,但當按下提交按鈕時,它會將數據存入數據庫。沒有錯誤與mysql

PHP`

<?php 
// Make a MySQL Connection 
mysql_connect("XXX", "XXX", "XXX") or die(mysql_error()); 
mysql_select_db("content") or die(mysql_error()); 

$meist = mysql_real_escape_string($_POST['meist']); 

    $meist = $_POST['meist']; 
    mysql_query("INSERT INTO content_data (meist) VALUES ($meist)" 
or die(mysql_error)); 

echo "Data Inserted!"; 
?> 

HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 
Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 

<head> 
<title>Form Input Data</title> 
</head> 

<body> 
    <td> 
     <table> 
     <form method="post" action="input.php"> 
     <tr> 
      <td>Name</td> 
      <td><input type="text" id="meist" name="meist" size="20"> 
      </td> 
     </tr> 
     <tr> 
      <td></td> 
      <td align="right"><input type="submit" 
      name="submit" value="Sent"></td> 
     </tr> 
     </table> 
     </td> 
    </tr> 
</table> 
</body> 
</html> 

在此先感謝。 `

+2

作爲一個重要的,你應該考慮從MySQL擴展移開,因爲它已被棄用的PHP 5.5.0的。 http://php.net/manual/en/function.mysql-connect.php – Jordan

+0

另外,在你的代碼中你有行,'$ meist = mysql_real_escape_string($ _ POST ['meist']);'後面跟着$ meist = $ _POST ['meist'];'。這意味着你不僅使用了不推薦的擴展名,你實際上正在覆蓋你的輸入轉義! :O – Jordan

+0

我總是看到這種類型的問題,您應該閱讀[用於PHP和MySQL的常見數據庫調試](http://jason.pureconcepts.net/2013/04/common-debugging-php-mysql/)。 –

回答

2

我的猜測是,你正在尋找喜歡的東西:除了

mysql_query("INSERT INTO `content_data` (`meist`) VALUES ('$meist')") or die(mysql_error()) 
              missing quotes^ ^^  missing()'s ^^ 
                    | 
                  missing) 
+0

正確的答案,不能贊成太低的代表... –

+0

@JoosepSisas點擊大號複選標記,它比upvote更好。 – Sammitch

+0

快速脫離主題的問題,我應該用什麼來代替mySql?有什麼建議麼 ? –