为了账号安全,请及时绑定邮箱和手机立即绑定

php在apache显示page isn't working

php在apache显示page isn't working

PHP
尚方宝剑之说 2019-03-10 04:10:11
<?php $servername = "127.0.0.1"; $username = "root"; $password = ""; $dbname = "myDB"; //创建连接 $conn = new mysqli($servername, $username, $password); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } mysql_select_db($dbname, $conn) or die ( 'Can\'t use test: ' .mysql_error ($conn)); $result = $conn->query('slect * from test.Person'); echo $result ?> 数据库能连接,但是当我使用 mysql_select_db($dbname, $conn) or die ( 'Can't use test: ' .mysql_error ($conn));时候就显示页面不工作了,改成mysqli_select_db也没有,除此之外mysql_connect也不能用,必须用mysqli来创建连接对象,不知道什么原因 不得不吐槽网上的教程,都已经是deprecate的api,直接看dash上的api发现mysqli_select_db( $conn, $dbname)这样就没有报错了
查看完整描述

4 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

好吧,背后的原理是你调用mysql*系列函数时,触发了PHP的Call to undefined function(函数不存在)的Fatal error(致命错误),PHP异常终止执行,Apache收到PHP的异常信号时,认为PHP处理请求时发生异常,所以返回给客户端page isn't working(网页无法工作),而恰好此时你的php.ini配置了display_errors为off,Apache就认为你不想错误trace信息让客户端看到,所以给客户端返回网页无法工作。

你也可以去Apache的错误日志文件中看到相关PHP异常和错误日志。

当然你也可以去去php.ini中将display_errors打开(设置成on),就鞥在页面上看到PHP的具体错误trace了。

查看完整回答
反对 回复 2019-03-18
?
偶然的你

TA贡献1841条经验 获得超3个赞

mysql扩展自 PHP 5.5.0 起已废弃,并在自 PHP 7.0.0 开始被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之。
你用的PHP版本是?

查看完整回答
反对 回复 2019-03-18
?
侃侃无极

TA贡献2051条经验 获得超10个赞

可能是你的 php 版本问题, mysqlphp 7.0.0 被废除。

This extension is deprecated as of PHP 5.5.0, and has been removed as of PHP 7.0.0. Instead, either the mysqli or PDO_MySQL extension should be used. See also the MySQL API Overview for further help while choosing a MySQL API.

PHP: Introduction - Manual

查看完整回答
反对 回复 2019-03-18
?
jeck猫

TA贡献1909条经验 获得超7个赞

mysql,mysqli 写对。两者不一样,写统一。

另外,教使用 mysql,mysqli扩展的视频都不用看,看 pdo 的视频。

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 482 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信