Php 无法从数据库表中提取数据。。。。500错误

Php 无法从数据库表中提取数据。。。。500错误,php,mysqli,Php,Mysqli,我已经尝试了很多不同版本的代码,来自很多不同的网站。我完全搞不懂为什么这不起作用。即使复制和粘贴代码也不起作用。我对PHP和MySQL相当陌生,但已经编写了大量的HTML、CSS和JS,因此我对一般代码并不陌生,但我仍然是一名初学者 这是我的。我试图从数据库中获取数据,将其与用户从最后一页输入的数据进行比较,这本质上是一种登录。我甚至还没有进入比较部分,因为我无法获取信息,我得到的只是chrome调试窗口中的500个错误代码。我对此一无所知,因为我读到的所有东西都说这应该是完全正确的 我已经筋疲

我已经尝试了很多不同版本的代码,来自很多不同的网站。我完全搞不懂为什么这不起作用。即使复制和粘贴代码也不起作用。我对PHP和MySQL相当陌生,但已经编写了大量的HTML、CSS和JS,因此我对一般代码并不陌生,但我仍然是一名初学者

这是我的。我试图从数据库中获取数据,将其与用户从最后一页输入的数据进行比较,这本质上是一种登录。我甚至还没有进入比较部分,因为我无法获取信息,我得到的只是chrome调试窗口中的500个错误代码。我对此一无所知,因为我读到的所有东西都说这应该是完全正确的

我已经筋疲力尽了,这让我沮丧不已。希望这里有人能帮忙。作为记录,它连接得很好,当我尝试使用$sql变量时,一切都崩溃了。我在Godaddy主机上做这件事,如果这意味着什么的话

<?php
$servername = "localhost";
$username = "joemama198";
$pass = "Password";
$dbname = "EmployeeTimesheet";

// Create connection
$conn = mysqli_conect($servername, $username, $pass, $dbname);
// Check connection
if (mysqli_connect_errno) {
    echo "Failed to connect to MySQL: " . mysqi_connect_error();
}

$sql = 'SELECT Name FROM Employee List'; 
$result = mysqli_query($conn, $sql);

     if (mysqli_num_rows($result) > 0) {
        while($row = mysqli_fetch_assoc($result)) {
           echo "Name: " . $row["Name"]. "<br>";
        }
     } else {
        echo "0 results";
     }
     mysqli_close($conn);

?>

select语句中数据库表的名称中有一个空格。如果打算这样做,请尝试:

$sql = 'SELECT Name FROM `Employee List`'; 

我想你在询问中留下了空白

$sql = 'SELECT Name FROM Employee List';
改为

$sql = "SELECT `Name` FROM `EmployeeList`";
这里有麻烦:

// Create connection
$conn = mysqli_conect($servername, $username, $pass, $dbname);
// Check connection
if (mysqli_connect_errno) {
    echo "Failed to connect to MySQL: " . mysqi_connect_error();
}
这里有三个问题:

mysqli_conect而不是mysqli_connect注意connect中的双n mysqli\u connect\u errno应该是一个函数:mysqli\u connect\u errno mysqli\u connect\u错误而不是mysqli\u connect\u错误注意mysqli中的l 出现500错误的原因是没有启用调试。请将以下内容添加到脚本顶部:

ini_set('display_errors', 'on');
error_reporting(E_ALL);
这将防止出现一个不太有用的错误,并应显示任何其他错误的实际原因

这里可能有一个问题:

$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
如果查询失败,$result将为false,您将在mysqli_num_rows调用中得到一个错误。您应该在这两者之间添加一个复选框:

$result = mysqli_query($conn, $sql);

if (!$result) {
    die('Query failed because: ' . mysqli_error($conn));
}

if (mysqli_num_rows($result) > 0) {

可以显示错误消息吗?当您在$sqlMy database is EmployeeTimesheet中的FROM之后使用2个名称时,您的数据库名称是什么。我试图访问的数据库中的表是EmployeeListError message is 500 internal server Error修复了该问题,并在phpMyAdmin中更改了我的数据库名称。还是没什么遗憾谢谢你!!!!我终于让我的代码开始工作了。另外,调试工作也很棒,500错误对我们毫无帮助。我复制并粘贴了包含所有拼写错误的代码。我得经常检查拼写。这让我发疯,非常感谢您的帮助:-请记住,下次当您的浏览器显示500错误时,您的服务器日志应该包含实际错误。但是,不知道GoDaddy在哪里存储这些数据,或者它们是否在那里可用。Up投票,因为这是一个有效点,并且可能会导致500个错误,因为假设查询成功。原始查询是一个隐式别名,与从“Employee”中选择“Name”作为“List”相同,如果没有名为Employee的表,则查询将失败。