0

我正在尝试在 LAMP 服务器上进行简单的连接和选择。

我在连接到远程 sql 数据库时使这个 php 代码工作,但我无法让它与本地数据库一起工作。

 <?php
    //I also tried replacing the IP with localhost
    $db = mysql_connect('192.168.1.69','UserIcreated','MyPassword') or die("Connection error");
    $db = mysql_select_db("MyDataBaseName",$db) or die(mysql_error($db));
    
        $result = mysql_query("SELECT * FROM  MyTableName");
    
        if(mysql_num_rows($result)>0){
            echo "Try again";
        }
        else{
            echo "It works";
        }
    ?>

您可以在这里看到我的服务器正在服务 PHP 页面(http://162.226.5.161/workingphp.php

但是,当您尝试连接到上述代码 ( http://162.226.5.161/TestPhp.php) 时,它会出错。错误 500

当我创建用户时,我还赋予了用户在服务器上的 SELECT 权限

更新

所以错误发生在第 1 行:

 $db = mysql_connect('192.168.1.69','UserIcreated','MyPassword') or die("Connection error");

我注释掉了其余的代码,我仍然得到错误。所以我认为这是一个配置问题。有什么见解吗?

4

2 回答 2

1

只需确保您使用的是有效的凭证,如果一切正常,请查看以下内容:

.htaccess 文件出错

如果您在网站上使用 .htaccess,它可能会干扰您尝试加载到浏览器中的网页。请仔细检查 .htaccess 配置。任何语法错误都会导致显示 500 Internal Server Error 消息而不是您的网站。

要确认配置错误 .htaccess 是否是导致 500 Internal Server 错误的原因,请暂时删除或重命名 .htaccess 文件,然后尝试重新加载页面。

也可以看看:

使用 .htaccess 重写规则 使用 .htaccess 文件

PHP 编码超时

如果您的 PHP 脚本建立外部网络连接,则连接可能会超时。如果尝试的连接过多并超时,这将导致“500 内部服务器错误”。为了防止这些超时和错误,您需要确保 PHP 脚本使用一些超时规则进行编码。但是,通常情况下,在连接到数据库或外部远程资源(例如:RSS 提要)时捕获超时错误是很困难的。实际上,它们冻结了脚本继续运行。

删除任何外部连接可以提高您网站的性能并减少您收到“500 内部服务器错误”的机会。

内部服务器错误 500 不是客户端或网站/网络故障...

于 2013-09-22T17:00:59.237 回答
0

您在第二行的 $db 中重新分配了连接资源 ID

在第二行将 $db 更改为 $db2(数据库选择功能)

利用

$db = mysql_connect('192.168.1.69','UserIcreated','MyPassword') 
      or die("Connection error");

$db2 = mysql_select_db("MyDataBaseName",$db) 
      or die(myql_error($db));

代替

$db = mysql_connect('192.168.1.69','UserIcreated','MyPassword') 
      or die("Connection error");

$db = mysql_select_db("MyDataBaseName",$db) 
      or die(myql_error($db));
于 2013-09-22T16:59:00.303 回答