欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php连接mysql出现空白页面,phpmyadmin配置后无法扩展到mysqli

程序员文章站 2024-01-28 19:29:46
...
配置环境如下。
apache_2.2.6
mysql server 5.5
php-php-5.2.3-win32
phpMyAdmin-3.4.3.2-all-languages
windows 32位
新手,初学php,学到要连接mysql了。出现问题, 搜索了网上所有方法都无解,有点挫败,软件都配置不好,接下来怎么走下去啊。

1.用语句测试连接sql。结果显示空白页,起初显示网页错误,mysql启动后,就只显示空白页了。
if($dbc=mysql_connect('localhost', 'username','password'))
echo($dbc)

echo(Successfully connected to mysql!)


mysql_close();
}else{

echo(failed!)


2.phpMyAdmin 安装配置,起初打不开网页,后来发现应该把它放到存储我编写的php目录下,可是又显示 :缺少mysqli扩展。


这两样解决不了,我不知道怎么继续php学习下去。很烦恼。求高人指点。
首先,对于第一步,php的配置中,所有dll文件的复制,还有php.ini中的冒号去掉之类,我能确保没错了,都检查好几遍了。

第二布中,对于config.ini.php中的用户名,密码之类的改动,我也妥妥的没错了。
可还是出这个问题啊 。求高人指点啊,我实在是无辙了。

话说,你们当初是php新手时也遇到这么多问题咩?装个软件都不成功,太挫败一个誓学php的女生的积极性啦!

回复讨论(解决方案)

你运行phpinfo有mysqli吗?

打开php.ini设置
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
就可以看到错误信息了

女生... ...姑且不论这个.

要来学编程就不要管自己有没把子。

像楼上一样打开错误,然后输出
echo phpinfo();

看看什么情况。

$link = mysql_connect('localhost', 'username','password') or die('Faild connected to mysql!');
echo(Successfully connected to mysql!);

$link = mysql_connect('localhost', 'username', 'password') or die(mysql_error());
// 另外,你的dbuser是username、dbpass是password?还是?

你运行phpinfo有mysqli吗?

哦,我运行时候,没有现在mysql和mysqli的任何信息。 可是在运行中用命令可以启动mysql,启动后phpinfo中也没有mysql的信息。

女生... ...姑且不论这个.

要来学编程就不要管自己有没把子。

像楼上一样打开错误,然后输出
echo phpinfo();

看看什么情况。


恩,批评的对,那句话想修改发现改不了了。
很惭愧,网上搜罗各种方法还是无法解决,所以有点躁娇了。谢谢批评。

打开php.ini设置
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
就可以看到错误信息了

这两项我都设置过了。

引用 2 楼 moocky 的回复:
打开php.ini设置
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
就可以看到错误信息了


这两项我都设置过了。
按我说的做,把错误打出来

引用 8 楼 luoyinqq 的回复:
引用 2 楼 moocky 的回复:
打开php.ini设置
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
就可以看到错误信息了


这两项我都设置过了。

按我说的做,把错误打出来

就照你做的设置了。没有错误啊。 页面还是空白。
并且发现,下载了wamesever想省事,发现上面的phpMyAdmin也是无法扩展mysqli

改完了之后,重启一下webserver,phpinfo看一下这两项的设置是否和你改的一样,如果一样,说明修改成功了,那么错误应该是可以显示的出来的

引用 1 楼 piaolankeke 的回复:
你运行phpinfo有mysqli吗?


哦,我运行时候,没有现在mysql和mysqli的任何信息。 可是在运行中用命令可以启动mysql,启动后phpinfo中也没有mysql的信息。
phpinfo中没有mysql和mysqli的模块,证明你就没有把mysql配置到php中啊。环境都没配置好,怎么连数据库?

你到底是想扩展mysql何mysqli啊,你干脆把php.ini中的mysql和mysqli的都打开吧,如果都打开了还是这样那就是你的用户名或密码有问题了

引用 1 楼 piaolankeke 的回复:
你运行phpinfo有mysqli吗?


哦,我运行时候,没有现在mysql和mysqli的任何信息。 可是在运行中用命令可以启动mysql,启动后phpinfo中也没有mysql的信息。

没有信息就是没有链接上,命令行中可以启动mysql没啥关系的,那只是说你具备了数据库的环境,不过这桥还没搭好,上面说了 检查你的那两个dll文件是不是正常的存在你的ext文件夹里.另外php.ini文件是不是正确的进行了设置.其次最后是 apache 里的 php.ini文件路径是否正确的设置到当前的php目录.

引用 3 楼 phpnewnew 的回复:
女生... ...姑且不论这个.

要来学编程就不要管自己有没把子。

像楼上一样打开错误,然后输出
echo phpinfo();

看看什么情况。



恩,批评的对,那句话想修改发现改不了了。
很惭愧,网上搜罗各种方法还是无法解决,所以有点躁娇了。谢谢批评。

乖~ 我有过数日在一个问题上徘徊的经历,甚至我都忘记有多少次如此了,而最后解决是不是愉快的都不重要了,关键是,我过来了。要编程 这关是一定得过的,无论问题有多复杂,只要有人帮忙总是会解决。这里有很多热心人士多提问,虚心。咔咔。。。
最后不行 那个怪蜀黍 老大会来帮你的。

还是不行。唉

1. 本来吧php和apache不是放在同一个目录下,又按照一个配置说明放在同个目录下重新来了一遍。
发现了一个错误, regist global=On 当初没改,改动了这个。还心想会不会就是这个问题。

2.楼上强调的方法,display_errors = On 却确定定改过了。
error_reporting = E_ALL & ~E_NOTICE 这个也有了。可是phpinfo()的时候,显示
display_errors Off Off 。这个很奇怪。

3. mysql的配置, libmysql.dll都有ext中,php.ini中也有前面冒号去掉,是吧mysql 和mysqli都去掉了。

然后,phpinfo()中还是无任何sql的信息。 当然连接时候还是空白页面。以及,我不连接sql时候训练一些小程序,如果有错误,网页中会显示错误在第几行之类的提示。

啊!高人。我实在是晕了~~~~~~

2.楼上强调的方法,display_errors = On 却确定定改过了。
error_reporting = E_ALL & ~E_NOTICE 这个也有了。可是phpinfo()的时候,显示
display_errors Off Off 。这个很奇怪。

你apache PHPIniDir "x:\PHP\"是不是正确的路径?
如果你以前装过旧版本的PHP 我建议你将所有旧的完全卸载掉然后重新安装PHP.并且检查这个路径是否正确
或者是修改后必须要重启apache 没有操作?

...是不是你的名字和密码填错了

if($dbc=mysql_connect('localhost', 'username','password'))
这个连接语句中的...密码和账户

你运行phpinfo.php文件,看这个mysqli这个扩展打开没,如果没有就去php.ini文件打开mysqli这个扩展。之后重启apache。

2.楼上强调的方法,display_errors = On 却确定定改过了。
error_reporting = E_ALL & ~E_NOTI……
看仔细些,php.ini里有至少两处display_errors,其中一处是被注释掉的(前面有“;”),你应该改没有被注释掉的那一块。

先运行这个phpinfo.php文件,看有没有加载mysql,如果没有,重新操作一次,让apache加载mysql,注意你配置环境时的路径,然后在连接一次数据库看看

还是不行。唉

1. 本来吧php和apache不是放在同一个目录下,又按照一个配置说明放在同个目录下重新来了一遍。
发现了一个错误, regist global=On 当初没改,改动了这个。还心想会不会就是这个问题。

2.楼上强调的方法,display_errors = On 却确定定改过了。
error_reporting = E_ALL & ~E_NOTICE 这……
很显然你加载的配置文件不是你想要加载的那个,你需要修改apache中指定的PHPIniDir指定的php配置文件才可以

或许配置没错,检查一下你的PHP代码吧,我看到的代码就不对

先来留个影。 多谢以上各位的回复。本人第一次闯入csdn并发帖,以前有问题还在知道上发帖,真是孤陋寡闻,都不好意思说自己是学编程的了。

部分解决了。
1.我卸载了所有安装过的文件,的确php安装前下过好几个版本,有的打开,里面有build文件加,有的里面是dev等。然后前前后后安装估计吧配置搞坏了。我吧所有的都卸载了,然后保留了能用的一个,重新安装,配置。pringinfo(),ok!我从来没见过的mysql的消息居然出现在页面肿了,真是高兴死了。

2.myql可以启动,环境也配置好了,该链接了。套用上面兄台的语句测试链接,代码如下
1 2
3 $link=mysql_connect('localhost','root','123456')or die(mysql_error());
4 echo(successfully connected to myqul!);
5 ?>
6

第6行没有内容啊,可是有错误提示
Parse error: syntax error, unexpected T_STRING in F:\phpwork\testconnect.php on line 6

费解中。。这又是怎么回事???

echo("successfully connected to myqul!");

echo '....';

要用引号引起来(因为是字符串,如果是数字的话就不用了)

学习语言搭建平台只是个开始!遇到问题,要自己先思考尝试处理后
再提问。就像没运行phpinfo();
或运行了不看内容这样问题回答起来要费力的多。新手要多注意!
自己要有个系统的了解了再提问。别一遇问题想也不想就发问。

终于搞定了。上面的那个问题,加了引号也不行。
用了以下这段代码成了。 $dbhost = 'localhost';
$dbuser = 'root'; //你的mysql用户名
$dbpass = '123456'; //你的mysql密码
$dbname = 'dbname'; //你的mysql库名
$connect = mysql_connect($dbhost,$dbuser,$dbpass);
if ($connect) {
echo "连接成功,给分吧!:)";
} else {
echo "连接失败,不要钱了!";
}
?>

然后,phpMyAdmin的安装也就没问题了。谢谢楼上各位回复。结贴。散分。

把short_open_tag = Off改为short_open_tag = On

在php的配置文件(php.ini)中有一个short_open_tag的值,开启以后可以使用PHP的段标签:( ?>)。

同时,只有开启这个才可以使用 = 以代替 echo 。在CodeIgniter的视频教程中就是用的这种方式。

但是这个短标签是不推荐的,使用才是规范的方法。只是因为这种短标签使用的时间比较长,这种特性才被保存了下来。