Javascript EOF/使用AJAX调用PHP文件时加载错误失败

Javascript EOF/使用AJAX调用PHP文件时加载错误失败,javascript,php,jquery,ajax,eof,Javascript,Php,Jquery,Ajax,Eof,显然我的发帖请求被取消了? 而且,当我使用select查询数据库时,mysqli_result对象具有所有空值: object(mysqli_result)[2] public 'current_field' => null public 'field_count' => null public 'lengths' => null public 'num_rows' => null public 'type' => null 这是我的php文

显然我的发帖请求被取消了?

而且,当我使用select查询数据库时,mysqli_result对象具有所有空值:

object(mysqli_result)[2]
  public 'current_field' => null
  public 'field_count' => null
  public 'lengths' => null
  public 'num_rows' => null
  public 'type' => null
这是我的php文件:

<?php

$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "uoitlol";
$name = "test1"; //this should be $_POST['name']; test1 is just to test if it works.
$err = false;

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_errno > 0) {
    echo 'connerr';
    die();
}
$sql = "INSERT INTO summoners (name) VALUES (?)";

$getname = "SELECT name FROM summoners";

$result = $conn->query($getname);
while ($row = $result->fetch_assoc()) {
    echo 'name : ' . $row['name'];
    if ($row['name'] === $name) {
        echo 'error, name exists';
        $err = true;
    }
}

$stmt = $conn->prepare($sql);
$stmt->bind_param('s', $name);

if ($err === false) {
    if (!$stmt->execute()) {
        echo 'sqlerr';
    } else {
        echo 'success';
    }
}

$stmt->close();
mysqli_close($conn);

?>
放在php文件的末尾,而不是使用
var-dataString='name='+name改用此选项:

var data = { "name" : name};
jQuery将自动为您处理脏东西,这样您就不必对它和其他东西进行特殊的文本转义


这是我所能帮助的,不需要任何日志文件,只需快速浏览一下您的代码。

从您的
submitName.php
中删除此内容,除非其中确实包含HTML

<!DOCTYPE html>

请在这里发布您的代码,而不是作为pastebin链接。我不能在这里发布我的代码,它会变得乱七八糟。请使用编辑器中的代码标记工具:
{}
我正在使用它,但它仍然乱七八糟,我设法修复了它,我的坏!您是否收到任何服务器端错误?谢谢您的回复!我按照建议做了更改,但仍有错误。以下是我从输出日志中得到的错误:加载资源失败:软件导致的连接中止:public_html/submitName.php上的recv失败(20:55:45:109 |错误,网络)加载资源失败:public_html/submitName.phpOkay cool上的服务器意外结束文件(20:55:52:199 |错误,网络)。你能继续更新你的密码吗?请回答这个问题。谢谢我实际上是在使用ajax来执行php文件,这样浏览器就不会切换页面。我可以加载页面,但每当我提交表单时,我都会收到意外的eof错误,或者我收到软件导致连接中止,recv失败错误。好的,这很酷。但是您应该仍然能够自己加载页面以查看输出。因此,自己加载
“submitName.php”
,然后使用
die()
method,逐步遍历文件,直到找到错误。此外,如果没有看到错误,请将其添加到PHP代码
ini\u集的开头(“display\u errors”,1);ini设置(“显示启动错误”,1);错误报告(-1)好的,我运行了PHP文件并对其进行了一些修改(更新的版本在文章中进行了编辑)。它本身运行良好,它更新了表,如果表已经存在,则不会添加名称。谢谢,但这并没有解决问题。我已经彻底检查了您提供的文件,它们没有任何问题。您缺少一个
}
或php标记前后有空格。您可能还想尝试重新加载netbeans。我是从我的WAMP服务器日志文件中得到的:27-Nov-2014 04:12:21 Europe/Paris]PHP致命错误:在C:\Program Files(x86)\WAMP\www\WSFinal\public\u html\submitName.PHP的第27行[27-Nov-2014 04:12:21 Europe/Paris]PHP堆栈跟踪中对非对象调用成员函数fetch\u assoc():[27-Nov-2014 04:12:21 Europe/Paris]PHP 1.{main}()C:\Program Files(x86)\wamp\www\WSFinal\public\u html\submitName.PHP:0So
$getname=“从召唤者中选择名称”
没有返回任何内容。我想是这样的……但查询返回的是一个mysqli\u结果对象。然而,对象中的每个字段都是空的。我很困惑。
<!DOCTYPE html>
<?php
//your PHP code//
?>
<!DOCTYPE html>
//your HTML here//
</html>
if (!empty($name) { //verify the form value was received before running query//
    $getname = "SELECT name FROM summoners WHERE name = $name";

    $result = $conn->query($getname);
    $count = $getname->num_rows; //verify a record was selected//
    if ($count != 0) {
        while ($row = $result->fetch_assoc()) {
            echo 'name : ' . $row['name'];
            if ($row['name'] === $name) {
                echo 'error, name exists';
                $err = true;
            }
        }
    } else {
        echo "no record found for name";
        exit;
    }
}