我已尝试过大量不同版本的代码,来自不同的网站。我完全搞不清楚为什么这不起作用。即使复制和粘贴代码也无法正常工作。我对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);
&GT;
答案 0 :(得分:1)
这里有麻烦:
// 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()
(请注意n
中的双connect
)mysqli_connect_errno
应该是一个功能:mysqli_connect_errno()
mysqi_connect_error()
代替mysqli_connect_error()
(请注意l
中的mysqli
)您收到500错误的原因是您没有启用调试。请将以下内容添加到脚本的顶部:
ini_set('display_errors', 'on');
error_reporting(E_ALL);
这应该可以防止出现不太有用的500错误,而应该显示实际的 原因 以解决任何其他错误。
可能会成为问题:
$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) {
答案 1 :(得分:0)
select语句中数据库表的名称中有一个空格。如果是这样的话,试试:
$sql = 'SELECT Name FROM `Employee List`';
答案 2 :(得分:0)
我认为你在查询中留下了空白。
$sql = 'SELECT Name FROM Employee List';
更改为
$sql = "SELECT `Name` FROM `EmployeeList`";