连接失败:无法连接到'localhost'php

时间:2016-05-18 20:31:10

标签: php mysql

我是php&的新手ajax和我运行一个简单的应用程序,它不起作用,我不知道为什么。我正在使用mamp,windows 8.1。

这是php文件:

 <?php

 $grId = $_GET["groupId"];
 $limit = $_GET["limit"];

 if ($limit <= 0) {
    $limit = 10;
 }

 $servername = "localhost";
 $username = "root";
 $password = "root";
 $dbname = "productsdb";

 // Create connection
 $conn = new mysqli($servername, $username, $password, $dbname);

 // Check connection
 if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
 }

 $sql = "SELECT id, displayName, role, groupId FROM user where groupId = ? limit ?";

 $stmt = $conn->prepare($sql);
 $stmt->bind_param("ii", $grId, $limit);
 $stmt->execute();
 $stmt->bind_result($id, $displayName, $role, $groupId);

 $users = array();

 while($stmt->fetch()) {
    $user = new StdClass();
    $user->id = $id;
    $user->displayName = $displayName;
    $user->role = $role;
    $user->groupId = $groupId;

    array_push($users, $user);
 }

 echo json_encode($users);

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

和html文件:

<html>
<head>
<script src="jquery-2.1.4.js"></script>
<script>

$(document).ready(function () {
  $('#students').hide();
  $("#getStudentsButton").click(function () {
    $.ajax({
      dataType: "json",
      type: "GET",
      url: "getStudentsJson.php",
      data: {groupId: 1, limit: 7},
      success: renderTable
    });
  });

  function renderTable(data) {
    var trHTML = '';
    $.each(data, function (i, item) {
      trHTML += '<tr><td>' + item.id + '</td><td>' + item.displayName + '</td><td>'
          + item.role + '</td> <td> ' + item.groupId + ' </td></tr>';
    });

    $('#students').append(trHTML);
    $('#students').show();
  }

});
</script>
</head>

<body>

The list of students:
<div id="maindiv">
<table id="students" border="1">
<tr>
  <th>Id</th>
  <th>Name</th>
  <th>Role</th>
  <th>GroupId</th>
</tr>

</table>

</div>
<input id="getStudentsButton" type="button" value="Load students"/>

</body>
</html>

我在浏览器中写道:http://localhost/nameOfFolder/getStudentsJson.php,我收到错误:

  

连接失败:无法连接到'localhost'上的MySQL服务器(10061)

现在我认为错误可能是在安装Mamp之前我也有Mysql.I已经在phpmyadmin中创建了一个名为productsdb的新数据库,其中包含4列。我认为这使得phpmyadmin和我的数据库中存在一些关于数据库的冲突MySQL的。我在php文件中编写的名称localhost正在试图连接到我的本地mysql,这是我在使用mamp安装之前的那个。

解决这些问题的任何解决方案?

1 个答案:

答案 0 :(得分:1)

  

错误(2003)无法连接到'服务器'上的MySQL服务器(10061)表示网络连接已被拒绝。您应检查是否有MySQL服务器正在运行,是否已启用网络连接,以及您指定的网络端口是服务器上配置的网络端口。

Manual

这可能是服务器未运行(如果您可以在PHPMyAdmin中查看相关信息,则不太可能)或可能存在防火墙问题。你表示你在Windows上,所以我首先要禁用防火墙并测试连接,然后通过他们在MySQL手册中提供的清单进行处理。