Fatal Error: Call undefined function mysql_connect() .

 

 学习PHP也有一段时间了,基础的语法还算掌握了,至少写出“你好,PHP”这样的输出还是驾轻就熟的。至于自己写出一个让自己很有满足感的程序来,目前还尚欠缺火候。

  开始学习PHP的时候,对于新手来说,环境的搭建至关重要(虽说大牛们也是从这个阶段过来的),但遇到满屏幕错误提示的时候,是不是有一种想放弃的感觉,说句实话,我有过,但还是硬着头皮查资料,问别人。一个看是微小的错误,可以让你学会很多东西。

 好了,废话到此。

 如题,这是自己独立搭建环境遇到的“最致命 Fatal Error(程序员最不想看到的两个英文单词)”的一次错误,因为他是在工作中出现的,体会到了基础的重要性。

 配置环境是:Apache2.2 + PHP5.2 + MySql5.5 + windows 7 

 得意洋洋的完成PHP和apache的配置,虽说Apache重启的时候也碰到了点问题。但最让我抓狂的还是MySql的问题。

测试代码如下,保存为testConn.php到hotdocs目录下。执行后报了如题的错误。

  
  
  
  
  1. <?php 
  2.  $link=mysql_connect("localhost""root""123456"or die("connect error!"); 
  3.  if($link){ 
  4.    echo "Successfully"
  5.  }else
  6.    echo "Failed"
  7.  } 

 执行以上程序后,出现如题目所示的错误。

解决思路如下:

 1,最基本的工作,检查你的Code,仔细读下,看看有没有什么语法、拼写的错误,这样也可以导致Fatal的产生。

 2,环境配置的检查,主要从以下几个方面入手。

   2.1 检查PHP有没有正确加载mysql 模块,两种方式:

       (1),新建一个php文件,写一个系统函数phpinfo(),执行即可,从输出的页面查找mysql模块。

  
  
  
  
  1. <?php 
  2.  
  3.   phpinfo(); 

       (2),在确保你的php\ext 以及 php.ini所在的目录的路径正确配置到了系统环境path路径中的前提下,进入命令行,直到php所在的路径下,输入

   php -m 回车即可。

   看看列出的模块中有没有mysql。

   2.2 检查php.ini文件中的  ;extension=php_mysql.dll 前面的;分号是否去掉。去掉,保存文件,重启apache尝试。

   2.3 有没有将php\ext目录下的 php_mysql.dll 和php_gd2.dll两个文件复制粘贴到c:\windows\system32 下,我习惯称为是注册动态链接库文件(请过路的大牛指正)。 

   2.4 将第一步修改好的php.ini在粘贴到c:\windows下即可。

   2.5 再次重启apache服务器尝试。

   2.6卸载mysql,清空你的mysql安装目录和C:\documents and settings\All Users\MySQL目录(如不清空该目录你重装的时候最后一步execute的时候可能会报错的呦,亲,反正我是碰到了)。重装你的MySql尝试。[以上PHP和apache的配置不需要动]

 

 至此,以上操作已经反复了几次,再重新运行的时候,程序报了一个好的错误提示,那就是说连接数据库的password不对。到这里其实心里面一阵窃喜,但是‘淫荡’的上午已经过去了半个多小时。

 3,检查mysql的安装环境。

    命令行进入mysql,

    mysql -uroot -p 

    123456

    回车之后,根据提示才发现原来是root的密码错误。

    接下来是如何改密码,如何进行设置的就略过吧。但是我清晰的记得我输入的是123456.看来最近人品不咋地。

   这件事情让自己明白了以下东东:

   1,命令行的神奇,这是以前我根本都瞧不起眼的界面,总觉得不美观。开来关键时刻还是大作用。而且能够熟练的敲命令才是计算机高手的一个重要体现之一(我是这样认为的,所以我一只小小鸟而已,很菜,但很努力的飞)。

  2,求知不能一知半解、眼高手低、不懂装懂和不去检验。这是做学问,做技术,乃至为人处事的几大忌。就这么多了。

  3,不但要会和计算机熟练的各种语言沟通,不能忘却我们自己的语言,这或许是通病。但是,你所讲出来的至少让别人听明白,直接简单明了,说出问题要害(当然做到如此不但需要较强的文字驾驭能力,敏捷的思维,合理的表达,更重要的一点还是根基深厚的技术水准)

   

 

你可能感兴趣的:(mysql,PHP,基础,思维,排错)