从本地主机上的PHP文件访问MySql数据库

时间:2013-09-22 16:49:11

标签: php mysql localhost lamp

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

我连接到远程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");

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

2 个答案:

答案 0 :(得分:1)

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

.htaccess文件出错

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

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

另见:

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

PHP编码时间安排

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

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

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

答案 1 :(得分: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));