2016-03-17 153 views
0

我是PHP新手,我正在製作一個插入函數,它會將html輸入插入到我的Sql數據庫中,但是當我提交任何內容時都沒有任何反應,也沒有任何信息輸入到數據庫中。我非常感謝有關如何將輸入信息提交到數據庫的任何幫助。PHP在提交時不會發送sql數據到數據庫?

<html> 
<head> 

</head> 
<body> 

    <div align = "center"> 


      <form method = "POST" class="basic-grey"> 
      <h1><i>Insert</i></h1> 
       <label>Title :<input type = "text" name="title"/></label> 
       <label>Content :<input type = "text" name="content"/></label> 
       <label>User :<input type = "text" name="user"/></label> 

       <label><input type = "submit" value = "submit"/></label> 
      </form> 

      <div style = "font-size:11px; color:#cc0000; margin-top:10px"><?php echo $error ?></div> 

      </div> 
</html> 
<?php 

include_once 'db_config.php'; 

session_start(); 
if (!(isset($_SESSION['login_user']) && $_SESSION['login_user'] != '')) { 

header ("Location: login2.php"); 

} 


if(isset($_POST["submit"])) { 



$title = $_POST['title']; 
$content = $_POST['content']; 
$user = $_POST['user']; 

$sql = "INSERT INTO 'diary' ('ID', 'TITLE', 'CONTENT', 'USER') 
VALUES (NULL, '$title','$content', '$user',)"; 

if ($conn->query($sql) === TRUE) { 
header("location: results.php"); 
} else { 
echo "Error: " . $sql . "<br>" . $conn->error; 
} 
} 
$conn->close(); 


?> 
+0

數據庫連接成功完成? –

+0

嘗試print_r($ conn-> query($ sql));看看問題是什麼 – 25r43q

+0

不會工作,因爲你沒有任何名爲'submit'的if(isset($ _ POST [「submit」])){'來測試。 –

回答

1

您的腳本不將無法工作,因爲你沒有命名爲if(isset($_POST["submit"])) {測試「提交」任何東西。修正了通過命名您的提交按鈕:

<label><input type="submit" name="submit" value="submit"/></label> 

現在一旦點擊該按鈕的名稱將出現在$_POST陣列英寸


另外:session_start()應該在您打開PHP標籤後。

Your script is at risk for SQL Injection Attacks.瞭解有關PDOMySQLiprepared對帳單,並考慮使用PDO,it's really pretty easy

您的錯誤檢查將顯示您已經引用而不是後面打勾的表格和列名稱,並且您有一個額外的逗號。更改您的插入查詢,如下所示:

$sql = "INSERT INTO `diary` (`ID`, `TITLE`, `CONTENT`, `USER`) VALUES (NULL, '$title','$content', '$user')"; 
0

您正在使用無效的mysql語法。您正在使用錯誤的字符串文字'表名稱和列名稱。你可以使用這個`,或者根本不使用文字。

選項1:

$sql = "INSERT INTO `diary` (`ID`, `TITLE`, `CONTENT`, `USER`) VALUES (NULL, '$title','$content', '$user')"; 

選項2:

$sql = "INSERT INTO diary (ID, TITLE, CONTENT, USER) VALUES (NULL, '$title','$content', '$user')"; 
0

也許像執行您未使用的 '提交' 名稱:

<input type="submit" **name="simpan"** value="SIMPAN"/>