使用ajax问题插入数据

时间:2013-01-24 13:30:14

标签: php ajax

我正在尝试使用ajax在我的数据库中插入数据,但没有任何工作。可以告诉我,我做错了吗?

的index.php

<html>
    <head>
        <title>Title</title>
        <script type="text/javascript">
            function myLoad(){
                if(window.XMLHttpRequest){
                    var xmlhttp = new XMLHttpRequest();
                }else{
                    var xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
                }

                xmlhttp.open('GET', 'generate.php?text=' + document.getElementById('textarea').value, true);
                xmlhttp.send();
                xmlhttp.onreadystatechange = function(){
                    if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
                        window.document.getElementById('par').innerHTML = xmlhttp.responseText;
                    }
                }
            }
        </script>
    </head>

    <body>
        <div id="par"></div>
        <input type="text" id="textarea">
        <input type="button" id="button" value="Click Me" onClick="myLoad();"/>
    </body>
</html>

GENERATE.PHP

<?php
    require 'php/connect.inc.php';

    if(isset($_GET['text']) && !empty($_GET['text'])){
        $name = $_GET['text'];
        $query = "INSERT INTO users VALUES('', '$name', 'pass123', 'greg')";

        if($mysql_query = mysql_query($query)){
            echo 'Success';
        }else{
            echo 'Failed';
        }
    }
?>

CONNECT.INC.PHP

<?php
    $mysql_host = 'localhost';
    $mysql_user = 'root';
    $mysql_pass = '';

    $mysql_error = 'Could not connect';
    $a_database = 'a_database';

    if(!@mysql_connect($mysql_host, $mysql_user, $mysql_pass) OR !@mysql_select_db($a_database)){
        die($mysql_error);
    }
?>

1 个答案:

答案 0 :(得分:0)

这可能不是您整个问题的原因,但可能会使问题混乱。

$query = "INSERT INTO users VALUES('', '$name', 'pass123', 'greg')";

如果您使用的是Mysql5 +,并且第一个VALUES是自动增加的ID号,那么INSERT将失败。要么保留它,要么将它设为null或0(未引用)空字符串''insert是Mysql4的一个“功能”,它应该不起作用。

即从Mysql5开始......

$query = "INSERT INTO users VALUES(0, '$name', 'pass123', 'greg')";