Maison >développement back-end >tutoriel php >php连接mysql出现空白页面,phpmyadmin配置后无法扩展到mysqli

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

WBOY
WBOYoriginal
2016-06-23 14:14:201510parcourir

配置环境如下。
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可以启动,环境也配置好了,该链接了。套用上面兄台的语句测试链接,代码如下
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的视频教程中就是用的这种方式。

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn