php在apache显示page isn't working

$servername="127.0.0.1";
$username="root";
$password="";
$dbname="myDB";
//创建连接
$conn=newmysqli($servername,$username,$password);
//检测连接
if($conn->connect_error){
die("连接失败:".$conn->connect_error);
}
mysql_select_db($dbname,$conn)ordie('Can\'tusetest:'.mysql_error($conn));
$result=$conn->query('slect*fromtest.Person');
echo$result
?>
数据库能连接,但是当我使用mysql_select_db($dbname,$conn)ordie('Can'tusetest:'.mysql_error($conn));时候就显示页面不工作了,改成mysqli_select_db也没有,除此之外mysql_connect也不能用,必须用mysqli来创建连接对象,不知道什么原因
不得不吐槽网上的教程,都已经是deprecate的api,直接看dash上的api发现mysqli_select_db($conn,$dbname)这样就没有报错了
撒科打诨
浏览 750回答 2
2回答

元芳怎么了

好吧,背后的原理是你调用mysql*系列函数时,触发了PHP的Calltoundefinedfunction(函数不存在)的Fatalerror(致命错误),PHP异常终止执行,Apache收到PHP的异常信号时,认为PHP处理请求时发生异常,所以返回给客户端pageisn'tworking(网页无法工作),而恰好此时你的php.ini配置了display_errors为off,Apache就认为你不想错误trace信息让客户端看到,所以给客户端返回网页无法工作。你也可以去Apache的错误日志文件中看到相关PHP异常和错误日志。当然你也可以去去php.ini中将display_errors打开(设置成on),就鞥在页面上看到PHP的具体错误trace了。

跃然一笑

mysql扩展自PHP5.5.0起已废弃,并在自PHP7.0.0开始被移除。应使用MySQLi或PDO_MySQL扩展来替换之。你用的PHP版本是?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript