【发布时间】:2014-06-24 20:54:24
【问题描述】:
我知道这与this question. 重复,但我收到了同样的错误。我搜索了很多类似的问题,例如:PHP not working on HTML file、PHP script not working in HTML file、Cannot run a simple PHP file on the server 等等,但找不到任何解决方案。
我创建了一个非常简单的登录 html 文件,然后我编写了 php 脚本在一个单独的 php 文件中执行登录操作。 (在与 html 文件相同的文件夹中)。我的问题是,当我在浏览器中键入 localhost/filename.php 时,它什么也没返回。 (我的意思是一个没有任何错误消息的空 html 页面)。此外,当我在我的 html 登录表单中按下登录按钮时,它要求我保存文件,而我希望运行 php 文件。
我检查了错误日志,这是错误:
脚本 '/var/www/connectivity.php' 未找到或无法统计 [星期三 May 07 17:51:28 2014] [notice] 捕获 SIGTERM,关闭 [Wed May 2014 年 7 月 17 日 51 分 29 秒] [通知] Apache/2.2.22 (Ubuntu) 配置了 Suhosin-Patch 的 PHP/5.3.10-1ubuntu3.11 -- 恢复 正常操作 [2014 年 5 月 7 日星期三 19:25:34] [错误] [客户端 127.0.0.1] PHP 警告:mysql_connect():/var/www/connectivity.php 中的用户“root”@“localhost”(使用密码:NO)的访问被拒绝 在第 7 行
这是 php 脚本:
<?php
$host="localhost";
$user="root";
$pass="xxxxx";
$db="test";
$con=mysql_connect($host,$user,$pass) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db($db,$con) or die("Failed to connect to MySQL: " . mysql_error());
if(isset($_POST['userId'])){
$userId = $_POST['userId'];
$password = $_POST['password'];
$sql = "SELECT * FROM User where userId = '$userId' AND password = '$password'" or die(mysql_error());
$res = mysql_fetch_array($sql) or die(mysql_error());
if(mysql_num_rows($res) > 0) {
echo "SUCCESSFULLY LOGIN TO USER PROFILE PAGE...";
exit();
}
else
{
echo "SORRY... YOU ENTERD WRONG ID AND PASSWORD... PLEASE RETRY...";
exit();
}
}
?>
有人可以帮我解决它吗?
谢谢
【问题讨论】:
-
您的 PHP 输出中有印刷错误。请准确复制/粘贴您收到的错误以及您正在使用的确切源代码,以便社区更准确地诊断您的问题。
-
试试
mysql_fetch_array($db,$sql)也用新的mysqli代替mysql -
您似乎没有一些访问权限问题。也不确定为什么要运行 mysql 而不是 mysqli 函数以及为什么要选择数据库。那里实际上有几个数据库吗?我会这样: DEFINE('DB_USER', 'root'); DEFINE('DB_PASSWORD','xxxxx'); DEFINE('DB_HOST', 'localhost'); DEFINE('DB_NAME', 'test'); $con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);但我首先会检查您的服务器设置,尤其是访问设置。还通过 mysqli_real_escape 运行这两个字段并检查两个字段是否不为空。
-
@AR.我按照你说的做了,但是现在当我将浏览器指向 localhost/file.php 时,它返回了一个页面,并显示以下错误:无法连接到 MySQL: