我很难让我的 PHP 代码引用我的数据库并显示其中的某些信息。我收到的错误是“无法访问数据库”。我已经多次检查这段代码,但似乎找不到解决方案。第一个文件 (Approve Deny Prayer Request) 引用另一个文件 (Prayer Request) 以绘制数据。这个想法是我将能够编辑祈祷请求,然后单击“批准”按钮,该按钮将编辑条目并将其重新保存到数据库中。请在下面找到这两个 CGI 文件。
感谢您的帮助。
批准拒绝祷告请求
<table cellpadding="10">
<tr>
<td>First Name</td>
<td>Last Name</td>
<td>Prayer Request</td>
</tr>
<?php
$username="XXXXXX";
$password="XXXXXXXXX";
$database="prayer";
mysqli_connect('fbcaltusprayerorg.ipagemysql.com',$username,$password,$database);
@mysqli_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM Request";
$result=mysqli_query($query);
mysqli_close();
while ($row=mysqli_fetch_array($result)){
echo ("<tr><td>$row[Reg_F_Name]</td>");
echo ("<td>$row[Reg_L_Name]</td>");
echo ("<td>$row[Reg_Request]</td>");
echo ("<td><a href=\"cgi-bin/PrayerRequest.php?id=$row[id]\">Edit</a></td></tr>");
}
echo "</table>";
?>
祷告请求
<?php
$username="XXXXX";
$password="XXXXXXXX";
$database="prayer";
mysqli_connect('fbcaltusprayerorg.ipagemysql.com',$username,$password,$database);
@mysqli_select_db($database) or die( "Unable to select database");
$query = "SELECT * FROM Request";
$result = mysqli_query($query);
$row = mysqli_fetch_array($result);
?>
<form method="post" action="cgi-bin/ApproveDenyPrayerRequest.php" />
<table>
<tr>
<td>First Name:</td>
<td><input type="text" name="first" value="<? echo "$row[Reg_F_Name]" ?>"></td>
</tr>
<tr>
<td>Last Name:</td>
<td><input type="text" name="last" value="<? echo "$row[Reg_L_Name]" ?>"></td>
</tr>
<tr>
<td>Prayer Request</td>
<td><input type="text" name="phone" value="<? echo "$row[Reg_Request]" ?>"></td>
</tr>
</table>
</form>
最佳答案
不要使用错误抑制运算符 @
,它会隐藏警告,你将无法找出问题所在..
像这样重写您的代码以建立连接..
<?php
$username="XXXXX";
$password="XXXXXXXX";
$database="prayer";
$link = mysqli_connect('fbcaltusprayerorg.ipagemysql.com', $username, $password, $database);
if (!$link) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo 'Success... ' . mysqli_get_host_info($link) . "\n";
$query = "SELECT * FROM Request";
$result = mysqli_query($link,$query); //<----- Added link
$row = mysqli_fetch_array($result);
?>
<form method="post" action="cgi-bin/ApproveDenyPrayerRequest.php" />
<table>
<tr>
<td>First Name:</td>
<td><input type="text" name="first" value="<? echo "$row[Reg_F_Name]" ?>"></td>
</tr>
<tr>
<td>Last Name:</td>
<td><input type="text" name="last" value="<? echo "$row[Reg_L_Name]" ?>"></td>
</tr>
<tr>
<td>Prayer Request</td>
<td><input type="text" name="phone" value="<? echo "$row[Reg_Request]" ?>"></td>
</tr>
</table>
</form>
在此处从 PHP manual. 阅读更多内容
关于PHP 无法访问服务器上的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23026653/