2012-01-06 48 views
0

我創建像發佈系統Facebook的插入..我的文章沒有在我的DATABSE

我的問題今天似乎並沒有插入我從文本區進入我的數據庫中的值。 。

這裏是我的Java腳本:

$("#share").click(function() 
    { 
       //var typeNew = document.getElementById("content").value; 
       var update = $("textarea#content").val(); 
       //document.write(update); 

       if(update.length == 0) 
       { 
        alert("empty, please type something."); 
        //$(this).html('<meta http-equiv=\"Refresh\" content=\"1; URL=insert.php\">'); 
       } 
       else 
       { 
        //$("#flash").show(); 
        $("#flash").html('<img src="loader.gif" />Loading Comment...').fadeIn("slow"); 

        $.ajax({ 
         type: "POST", 
      url: "post_update.php", 
         data: 'update=' + update, 

        success: function(msg) 
        { 
          $("#flash").ajaxComplete(function(event, request, settings){ 
          //alert("Successfully Inserted") 
          $("#flash").hide(); 
          //$(this).html('<meta http-equiv=\"Refresh\" content=\"1; URL=insert.php\">'); 

          }); 
          } 
        }); 
       } 
       return false; 
      }); 

那麼這裏是我的PHP代碼:

<?php 


    $post=$_REQUEST['update']; 
    $post=$_POST['update']; 
    //echo '$post'; 

    @ $db = new mysqli('localhost', 'root', '', 'wall'); 

          if(mysqli_connect_errno()) 
         { 
       echo "Error! Could not connect to database. Reset fields."; 
       exit; 
       } 

    $sql = "INSERT INTO posts(update,date_posted) VALUES('$post',NOW())"; 
    $result = $db->query($sql); 


    if($result){ 

    echo 'OK'; 
} 
else{ 
     echo 'FAIL'; 
} 

$db->close(); 

>

有人可以告訴我,什麼是錯的? 它運作良好,當刪除功能是錯誤的,但現在,它的功能我分享功能不起作用..

+1

您是否嘗試打印fina插入查詢來分析值? – Arfeen 2012-01-06 07:02:52

+2

[鮑比 - 表(http://bobby-tables.com/)想首先把它給數據庫之前來玩... – Quentin 2012-01-06 07:03:25

+0

淨化你的$崗位。 – jerrymouse 2012-01-06 07:07:53

回答

0

如果你的$柱出來要罰款然後嘗試:

 

$post = $db->real_escape_string($_POST["update"]); 
if (!db->query("INSERT INTO posts(update,date_posted) VALUES('$post' ,NOW())")) { 
    echo $db->sqlstate; //show error 
} 
else { 
    echo "inserted"; 
} 
 
+0

我試過了,但它不起作用.. – suffocationkills 2012-01-06 07:16:06

+0

什麼是錯誤? – jerrymouse 2012-01-06 07:16:34

+0

編輯,嘗試找出什麼錯誤出來 – 2012-01-06 07:22:46

0

假設update列類型是varchar/chardate_posteddatetime

$sql = sprintf("INSERT INTO posts(update,date_posted) VALUES('%s',NOW())", 
       mysql_real_escape_string($post)); 
$result = $db->query($sql); 
1

在你的PHP代碼中,你有以下幾行:

$post=$_REQUEST['update']; 
$post=$_POST['update']; 

你不應該有這兩個。在你的情況下,你實際上只需要第二個,但爲了測試,請嘗試評論它,只留下$_REQUEST行。現在你可以通過GET傳遞參數了。

要看到,如果查詢是正確的,打印出來太像這樣:

echo $sql = "INSERT INTO posts(update,date_posted) VALUES('$post',NOW())"; 

現在瀏覽器指向該位置your.domain/post_update.php?update=testmessage和看到輸出。

如果一切似乎是工作,這種更換POST/REQUEST線:

$post=$db->real_escape_string($_POST["update"]); 
0

請更改列名「更新」到任何其它的。它可能有效。並避免爲列名定義一些預定義的變量。

希望它有幫助。

+0

謝謝你這工作..我會記住這一點.. – suffocationkills 2012-01-06 15:05:38

相關問題