Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用ajax插入数据问题_Php_Ajax - Fatal编程技术网

Php 使用ajax插入数据问题

Php 使用ajax插入数据问题,php,ajax,Php,Ajax,我试图使用ajax在我的数据库中插入数据,但没有任何效果。能告诉我我做错了什么吗 INDEX.PHP <html> <head> <title>Title</title> <script type="text/javascript"> function myLoad(){ if(window.XMLHttpRequest){

我试图使用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>

标题
函数myLoad(){
if(window.XMLHttpRequest){
var xmlhttp=new XMLHttpRequest();
}否则{
var xmlhttp=newactivexobject('Microsoft.xmlhttp');
}
open('GET','generate.php?text='+document.getElementById('textarea')。value,true);
xmlhttp.send();
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
window.document.getElementById('par').innerHTML=xmlhttp.responseText;
}
}
}
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';
        }
    }
?>

这可能不是整个问题的原因,但可能会混淆问题

$query = "INSERT INTO users VALUES('', '$name', 'pass123', 'greg')";
如果您使用的是Mysql5+,并且其中的第一个值是自动递增的id号,那么该插入将失败。要么省略它,要么将其设置为null或0(无引号)。空字符串“”insert是Mysql4的一个“功能”,本不应该起作用

ie从Mysql5开始

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

单击按钮时会出现一个空白屏幕?您需要添加更多信息。。“什么都没用”有点含糊不清。。您是否正在将IE/chrome与F12一起调试以检查网络流量?你能看到请求实际上已经发送了吗?有回应吗?哦,对不起?不,我的意思是,我从来没有得到任何结果,但按钮和文本字段仍然在那里。我认为您必须将响应发送回,而不是仅使用“echo”在onreadystatechange处理程序中的if块之前检查
xmlhttp.status
,然后查看它是什么。
$query = "INSERT INTO users VALUES(0, '$name', 'pass123', 'greg')";