Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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
Javascript AJAX PHP数据库查询不工作_Javascript_Php_Mysql_Ajax_Database - Fatal编程技术网

Javascript AJAX PHP数据库查询不工作

Javascript AJAX PHP数据库查询不工作,javascript,php,mysql,ajax,database,Javascript,Php,Mysql,Ajax,Database,我正在尝试学习AJAX,但进展不太顺利。在我的网站上,用户可以请求培训。提交请求后,讲师应能够从此页面管理请求。然而,当试图“声明”请求时,AJAX不能正常工作,没有错误 内部html不会更改 数据库条目未更改 我知道php文件正在运行,因为我以前收到错误 PHP/HTML/Javascript/AJAX <table class="sidebar" style="width:50%;"> <tr><th>My Open Requests</

我正在尝试学习AJAX,但进展不太顺利。在我的网站上,用户可以请求培训。提交请求后,讲师应能够从此页面管理请求。然而,当试图“声明”请求时,AJAX不能正常工作,没有错误

  • 内部html不会更改
  • 数据库条目未更改
  • 我知道php文件正在运行,因为我以前收到错误
PHP/HTML/Javascript/AJAX

<table class="sidebar" style="width:50%;">
    <tr><th>My Open Requests</th></tr>
    <div id="myopen">
    <?php
        if(!empty($myopen)){
            foreach($myopen as $request){
                $date = date('F d Y - gA', $request['submitted']);
                echo '<tr><td>'.$request['vid'].' - '.$request['type'].' - '.$request['comments'].' - '.$date.'</td></tr>';
            }
        }
        else{
            echo '<tr><td>NONE</td></tr>';
        }
    ?>
    </div>
</table>

<table class="sidebar" style="width:50%;">
    <tr><th>My Closed Requests</th></tr>
    <?php
        if(!empty($myclosed)){
            foreach($myclosed as $request){
                $date = date('F d Y - gA', $request['submitted']);
                echo '<tr><td>'.$request['vid'].' - '.$request['type'].' - '.$request['comments'].' - '.$date.'</td></tr>';
            }
        }
        else{
            echo '<tr><td>NONE</td></tr>';
        }
    ?>
</table>

<table class="sidebar" style="width:50%;">
    <tr><th>Unclaimed Requests</th></tr>
    <div id="unclaimed">
    <?php
        if(!empty($unclaimed)){
            foreach($unclaimed as $request){
                $date = date('F d Y - gA', $request['submitted']);
                $id = $request['id'];
                $name = "'".$this->registry->getData('firstname').' '.$this->registry->getData('lastname')."'";
                echo '<tr><td>'.$request['vid'].' - '.$request['type'].' - '.$request['comments'].' - '.$date.' <a href="" onclick="claim('.$id.','.$name.')">Claim</a></td></tr>';

            }
        }
        else{
            echo '<tr><td>NONE :)</td></tr>';
        }
    ?>
    </div>
</table>
<table class="sidebar" style="width:50%;">
    <tr><th>Request Log</th></tr>
    <?php
        if(!empty($claimed)){
            foreach($claimed as $request){
                echo '<tr><td>'.print_r($request).'</td></tr>';
            }
        }
        else{
            echo '<tr><td>NONE</td></tr>';
        }
    ?>
</table>
<script>
    function claim(id, name){
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("myopen").innerHTML = xmlhttp.responseText;
            }
        };
        xmlhttp.open("POST", "/lib/AJAX/trainingRequestManage.php", true);
        xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlhttp.send("id="+id+"&name="+name);
    }
</script>

我的公开请求
我已结束的请求
无人认领的请求

除非
http://www.ivaoxa.org/config/db.php
作为普通文件使用,以下行永远不会起作用:

include('http://www.ivaoxa.org/config/db.php');

更多信息:

$myopen应该是什么?这不是准备语句的正确方法,所以请检查一下,这样您就可以从start了解正确的方法$myopen是一个数组,其中包含已声明的每个请求的数据库信息。同样,$unclaimjed是尚未申请的培训请求的数据库信息。变量在被包含和传递之前被计算fine@Hanky我已经直接从w3schools获得了准备好的语句代码,因此如果它不正确,我很抱歉
$id=$\u POST[“id”]$id=$_POST[“name”]???错误报告在这里会对您有所帮助。未定义的变量名通知。要详细说明,如果此文件位于同一服务器上,则需要提供该文件的服务器路径。类似这样的内容:include('config/db.php');即使我将db connect信息直接放入phpYup中,听起来也可能是连接字符串出了问题。你能发布你的db.php的内容吗?忽略敏感信息。另外,看起来您正在使用PDO,所以将其包装在一个try-catch中,这样您就可以看到错误:try{$stmt=$db->prepare($sql);}catch(异常$e){echo'error:';var_dump($e->getMessage());}@aknatn Posted db.php受到质疑。我添加了try-catch,但仍然没有任何异常,没有错误或其他什么?现在尝试对include进行注释,并将对PDO的调用放在本文的Try-like中,同时验证PDO是否已安装:并且您是否有错误报告:error_reporting(E_ALL);
<?php
$db = new PDO('mysql:host=localhost;dbname=xx;charset=utf8', 'xx', 'xx');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
include('http://www.ivaoxa.org/config/db.php');