我正在尝试在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");
我注释掉了剩下的代码,但我仍然得到错误。所以我认为这是一个配置问题。有什么见解吗?
答案 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));