我的AJAX代码不会更新数据库

时间:2014-08-19 19:44:12

标签: php jquery mysql ajax sql-update

我正在开发聊天应用程序。

该程序应该使用AJAX将用户输入的文本插入数据库。但是,它现在无法正常工作。我认为这是一个简单的错误(例如我的代码中某处的错误变量名称)。请帮忙。

我在数据库中有一个表,我称之为 chattest 。字段如下:
1. Chat_Id(主键,自动增量,INT)
2. Chat_User_Id(INT)
3. Chat_Text(文字)

我有一个名为 classes.php 的文件,其中包含:

<?php

class chat {
private $Chat_Id, $Chat_User_Id, $Chat_Text;

public function getChatId(){
    return $this->Chat_Id;
}
public function setChatId($Chat_Id){
    $this->Chat_Id = $Chat_Id;
}

public function getChatUserId(){
    return $this->Chat_User_Id;
}
public function setChatUserId($Chat_User_Id){
    $this->Chat_User_Id = $Chat_User_Id;
}

public function getChatText(){
    return $this->Chat_Text;
}
public function setChatText($Chat_Text){
    $this->Chat_Text = $Chat_Text;
}


public function InsertChatMessage(){
    include "conn.php";

    $req=$bdd->prepare("INSERT INTO chattest (Chat_User_Id,Chat_Text) VALUES (:Chat_User_Id,:Chat_Text)");
    $req->execute(array(
        'Chat_User_Id'=>$this->getChatUserId(),
        'Chat_Text'=>$this->getChatText()
        ));

}

}

?>

insert_message.php 文件或功能,其中包含:

<?php
session_start();

include "classes.php";
if(isset($_POST['ChatText'])) {
    $chat = new chat();
    $chat -> setChatUserId($_SESSION['id']);
    $chat -> setChatText($_POST['ChatText']);
    $chat -> InsertChatMessage();

}

?>

包含AJAX的聊天页面如下:

<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    
<link rel="stylesheet" href="style.css" type="text/css" />
<script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
<title>Chat Application Home</title>
<script type="text/javascript">
    $(document).ready(function() {

        $("#ChatText").keyup(function(e) {
            //When We Press Enter Do
            if(e.keyCode == 13) {
                var ChatText = $("#ChatText").val();
                $.ajax({
                    type:'POST',
                    url:'insert_message.php',
                    data:{Chat_Text:"Test Chat"},
                    success:function(){

                        $("#ChatText").val("");
                    }


                });
            }

        });   

    });
</script>
</head>

<body>

<h2> Welcome <?php echo $_SESSION['fname']  ?> </h2>
</br></br>

<div id="ChatBig">
    <div id ="ChatMessages">
    </div>
    <textarea id="ChatText" name="ChatText"> </textarea>

</div>
</body>
</html>

最后,下面是连接到db的脚本,名为 conn.php

<?php

try{
$bdd = new PDO("mysql:host=localhost;dbname=dbtestt","root","")
}catch(Exception $e){
die("ERROR : ".$e->getMessage());
}
?>

请帮忙。

1 个答案:

答案 0 :(得分:0)

我发现了一个小小的虫子。

在conn.php,它缺少;

conn.php应该是

<?php

try{
$bdd = new PDO("mysql:host=localhost;dbname=dbtestt","root","");
}catch(Exception $e){
die("ERROR : ".$e->getMessage());
}
?>

谢谢大家的回复。