PHP 无法访问服务器上的数据库

标签 php mysql database

我很难让我的 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/

相关文章:

javascript - 创建弹出浏览器小部件

php - 如何列出特定节点类型中的字段?

php - CodeIgniter 中等效的 MySQL 查询

php - 从mySQL数据库填充的网站表单,如何返回数据

database - 数据库 : What are the options? 的地理冗余

mysql - 如何使用 C# 获取 Oracle、SQL Server、postgres、mysql 或任何其他数据库的数据库实例和架构详细信息?

php - CCK 节点引用和用户引用的可能用途

php - 连接尝试时出现奇怪的主机

mysql - 当字段类型为 int 时,phpMyAdmin 将列值显示为下拉列表

database - 同时访问数据库资源的算法