2015-02-07 61 views
-1

我想在PHP中創建一個評論框來將其值存儲在數據庫中。我的評論框沒有在數據庫中存儲任何東西

<?php 
    include('connect.php'); 
    $name= isset($_POST['name']); 
    $comment= isset($_POST['comment']); 
    $submit=isset($_POST['submit']); 
    if($submit) 
    { 
    if($name && $comment) 
    { 
    $insert= "INSERT INTO comment(name,comment) VALUES ('$name','$comment')"; 

    } 
    else 
    { 
    echo "please fill out the field"; 
    } 


    } 
    ?> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Comment box</title> 
    </head> 

    <body> 
    <form action="comment-box.php"> 
    <table> 
    <tr><td>NAME:</td> <td><input type="text" name="name"/></td></tr> 
    <tr><td colspan="2">comment:</td></tr> 
    <tr><td colspan="2"> <textarea name="comment"></textarea> </td></tr> 
    <tr><td colspan="2"> <input type="submit" name="submit" value="comment"></textarea> </td></tr> 

    </table> 


    </form> 
    </body> 
    </html> 

我的連接文件connect.php不會在我的數據庫中存儲任何東西。 請幫我一把。感謝提前:)笑我恨這個紅盒子錯誤:d

<?php 

    mysql_connect('localhost','root','') or die(mysql_error()); 
    mysql_select_db("comment") or die ("connect select DB"); 

    ?> 
+0

你在哪裏執行'sql'語句?我只能看到你在哪裏定義它。你也不應該使用不推薦的'mysql_ *'函數。 – Jens 2015-02-07 10:46:28

+0

您有SQL注入的風險,您需要在發送之前「準備」您的語句。 – cybermonkey 2015-02-07 11:13:35

+0

另外,你試圖插入的值是'boolean' - isset'的返回類型。 – msfoster 2015-02-08 01:02:04

回答

3

起碼你查詢你不執行:

$insert= "INSERT INTO comment(name,comment) VALUES ('$name','$comment')"; 

你必須運行mysql_query,但因爲它已經過時,你應考慮將 切換爲mysqli_queryPDO::query

$res = mysqli_query($con, $insert, ...) 

其中$con是你的連接。