Fatal error: Call to undefined function mysql_connect() 以及使用PHPINFO()没有MYSQL的信息。PHP.ini文件:
extension_dir = "D:/Server_Core/PHP/ext"extension=php_mysql.dll
extension=php_pdo_mysql.dll
另外PHP安装目录里的libmysql.dll也复制到了System32里面
请问怎么做才可以让PHP连接MYSQL?

解决方案 »

  1.   

    信息不明:
    PHP的版本
    MYSQL的版本
    ---------
    最新的php5.3.5 使用 mysqlnd 根本不需要 libmysql.dll
    建议用php5.3.x的版本
      

  2.   

    恩,PHP版本是5.2.17.17
    MYSQL的是5.0的版本初次学习,请多指教
      

  3.   

    php5ts.dll
    php_mbstring.dll
    php_mysql.dll
    php_gd2.dll
    libmhash.dll
    libmcrypt.dll
    这些也都拷贝到另System32文件夹里面去了。
    MYSQL安装了之后,我单独测试正常
    现在的问题就是PHP与MYSQL之间没有联系起来。。
      

  4.   

    重启apache 或 重启电脑 
      

  5.   

    不过原因不一样。你把ext里边的文件全部复制到systm32里边。重启电脑。应该就Ok了。咱俩版本一模一样
      

  6.   

    电脑重启过了,Apache每次测试我都习惯重启下
    另外在phpinfo里面没有MYSQL的信息
      

  7.   

    mysql能用么?phpinfo都没有,可能mysql本来就没启动或者端口冲突什么的
      

  8.   

    phpinfo中没有,那应该是配置不对或者mysql没装成功
    确认一下mysql能开启吗?看看以前总结的。wamp基本配置: 
    首先介绍php的配置,在解压后的文件夹中找到php.ini,打开并找到 ;extension=php_mysql.dll,将它前面的“;”去掉,找到extension_dir = "./" 改为 extension_dir = "php安装目录/ext"之后保存并把php.ini拷贝到windows目录下,把php/php5ts.dll 拷贝到windows文件夹下,把php/libmysql.dll 拷贝到system32下就OK了。接着我们来配置一下apache,在它的安装目录下进入到conf文件夹,打开httpd.conf文档,该文档记录了apache的相关配置,首先找到Documentroot,把你所要建立的web目录的路径拷贝到document下,例如我在D盘先建立一个webroot文件夹,所以Documentroot”D:/webroot”,在这里要注意httpd.conf中要将“\”变为“/”,同时不要忘记在document那行的下面<Directory></Directory> 设置为<Directory “D:/webroot”>,并将Options 和AllowOverride后面的参数设置为All,注意大小写。在该文档的任何位置添加LoadModule php5_module “php的安装目录/php5apache2_2.dll”和Addtype application/x-httpd-php .php(apache能识别.php文件),之后找到LoadModule rewrite_module modules/mod_rewrite.so,将它前面的“;”去掉,保存重启Apache。最后关于mysql的配置,这个配置很简单,大家在配置过程中按他的提示进行选择填写就OK了,其一个问题就是大家可以在我的电脑右击,选择属性,点击高级选项卡,进入环境配置,将Path路径中添加你mysql的bin文件夹的系统路径,变量值如:C:\Program Files\MySQL\MySQL Server 5.0\bin,注意不要忘记要用“;”隔开,点确定就OK了,这样我们在命令行下就可以直接运行mysql了,不用在切换到bin文件下。测试: 
    在配置过程中,我将d盘下的webroot文件夹作为我网站开发的跟目录。打开浏览器,在地址栏输入http://www.localhost.com,配置成功的话会在页面上显示It works 说明apache已经配置成功了,我们在webroot下建立一个test.php ,用我们最熟悉的hello world语句来测试,<?php echo “hello,world!”;?> ,之后我们在浏览器地址栏输入http://www.localhost/text.php,在页面显示 hello,world!我们打开运行,在命令行下输入Mysql –h localhost –u root –p 回车后让你输入密码,输入你在配置mysql的密码回车后,显示 
      Welcome to the MySQL monitor.  Commands end with ; or \g. 
       Your MySQL connection id is 1 to server version: 5.0.18-nt 
       Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 
       index.php 
    <?php 
    $link=mysql_connect('localhost','root','123456'); 
    if(!$link) echo "fail"; 
    else echo "success"; 
    mysql_close(); 
    ?> 
      

  9.   

    我也碰到过类似的问题 我是这么解决的
    应该是一个叫libmysql.dll文件的问题
    你找一下 php和mysql里面应该各有一个 两个冲突了
    你把一个移动到别的文件夹里面去 具体哪个你自己试下 system32下面的也记得改下
      

  10.   

    Apache和MYSQL的安装都OK
    Apache显示简单的 echo 出来的东西没有问题
    MYSQL单独测试,创建表都OK的
    所以是说PHP与MYSQL没有联系。恩 有两个libmysql。dll
    现在的问题的是一个是PHP的,另外一个是MYSQL的,请问怎么拷贝????
      

  11.   

    真的崩溃了,网上答案都搜遍了
    难道要PHP连接已个MYSQL都这么复杂吗
      

  12.   

    就是把其中的一个libmysq.dll不用 随便创建个新文件夹放进去就行了 但具体哪个不用你自己试一下 试的时候记得system32下面的libmysql.dll文件也同时更新
      

  13.   

    翻了一下我的机器,貌似只有mysql/bin目录下有libmysql.dll,呵呵,可以确定php那个被我扔掉了
      

  14.   

    我的apache安装包里就有mysql集成的,装好直接就可以用了,不知道楼主用的是不是这种
      

  15.   

    http://hi.baidu.com/judthua/blog/item/db8630ed8d327df7b2fb95e5.html  看看这个
      

  16.   

    libmysql.dll使用MYSQL的也不可用,PHP的不用它
    另外这些dll的话,我不仅是在环境变量里面设置了,而且还复制到System32文件夹里了安装的是单独的,没有用那种集成的恩 谢谢  也不可用
      

  17.   

    mysql: Available for PHP versions 4 and 5, this extension is intended for use with MySQL versions prior to MySQL 4.1. This extension does not support the improved authentication protocol used in MySQL 5.0, nor does it support prepared statements or multiple statements. If you wish to use this extension with MySQL 5.0, you will likely want to configure the MySQL server to use the --old-passwords option (see Section B.1.2.3, “Client does not support authentication protocol”). This extension is documented on the PHP Web site at http://php.net/mysql. mysqli - Stands for “MySQL, Improved”; this extension is available only in PHP 5. It is intended for use with MySQL 4.1.1 and later. This extension fully supports the authentication protocol used in MySQL 5.0, as well as the Prepared Statements and Multiple Statements APIs. In addition, this extension provides an advanced, object-oriented programming interface. You can read the documentation for the mysqli extension at http://php.net/mysqli. A helpful article can be found at http://www.zend.com/php5/articles/php5-mysqli.php. 现在回想起来好想要去下载dll的,php那个不能用
      

  18.   

    phpStudy 你用这个,一键安装,无论你是IIS还是Apache 都可以简单安装完成!
      

  19.   

    我勒个去 还没解决啊
    一般来说 你apache和mysql单独运行没问题的话 只是程序不能连接数据库
    通常都是ini配置文件 和 libmysql.dll的问题
    你把这两个地方再仔细查下 还不行的话 重装吧 有可能是你装的时候某个地方配置有误
      

  20.   

    安装问题  可采用 wampServer
      

  21.   

    一键安装的不好
    PHP和MYSQL是可以单独跑起来
    PHP.ini配置文件如下:;;;;;;;;;;;;;;;;;;;
    ; About php.ini   ;
    ;;;;;;;;;;;;;;;;;;;
    ; This file controls many aspects of PHP's behavior.  In order for PHP to
    ; read it, it must be named 'php.ini'.  PHP looks for it in the current
    ; working directory, in the path designated by the environment variable
    ; PHPRC, and in the path that was defined in compile time (in that order).
    ; Under Windows, the compile-time path is the Windows directory.  The
    ; path in which the php.ini file is looked for can be overridden using
    ; the -c argument in command line mode.
    ;
    ; The syntax of the file is extremely simple.  Whitespace and Lines
    ; beginning with a semicolon are silently ignored (as you probably guessed).
    ; Section headers (e.g. [Foo]) are also silently ignored, even though
    ; they might mean something in the future.
    ;
    ; Directives are specified using the following syntax:
    ; directive = value
    ; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
    ;
    ; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
    ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
    ; (e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo").
    ;
    ; Expressions in the INI file are limited to bitwise operators and parentheses:
    ; |        bitwise OR
    ; &        bitwise AND
    ; ~        bitwise NOT
    ; !        boolean NOT
    ;
    ; Boolean flags can be turned on using the values 1, On, True or Yes.
    ; They can be turned off using the values 0, Off, False or No.
    ;
    ; An empty string can be denoted by simply not writing anything after the equal
    ; sign, or by using the None keyword:
    ;
    ;  foo =         ; sets foo to an empty string
    ;  foo = none    ; sets foo to an empty string
    ;  foo = "none"  ; sets foo to the string 'none'
    ;
      

  22.   

    ; If you use constants in your value, and these constants belong to a
    ; dynamically loaded extension (either a PHP extension or a Zend extension),
    ; you may only use these constants *after* the line that loads the extension.

    ;
    ;;;;;;;;;;;;;;;;;;;
    ; About this file ;
    ;;;;;;;;;;;;;;;;;;;
    ; This is the recommended, PHP 5-style version of the php.ini-dist file.  It
    ; sets some non standard settings, that make PHP more efficient, more secure,
    ; and encourage cleaner coding.
    ;
    ; The price is that with these settings, PHP may be incompatible with some
    ; applications, and sometimes, more difficult to develop with.  Using this
    ; file is warmly recommended for production sites.  As all of the changes from
    ; the standard settings are thoroughly documented, you can go over each one,
    ; and decide whether you want to use it or not.
    ;
    ; For general information about the php.ini file, please consult the php.ini-dist
    ; file, included in your PHP distribution.
    ;
    ; This file is different from the php.ini-dist file in the fact that it features
    ; different values for several directives, in order to improve performance, while
    ; possibly breaking compatibility with the standard out-of-the-box behavior of
    ; PHP.  Please make sure you read what's different, and modify your scripts
    ; accordingly, if you decide to use this file instead.
    ;
    ; - register_long_arrays = Off     [Performance]
    ;     Disables registration of the older (and deprecated) long predefined array
    ;     variables ($HTTP_*_VARS).  Instead, use the superglobals that were
    ;     introduced in PHP 4.1.0
    ; - display_errors = Off           [Security]
    ;     With this directive set to off, errors that occur during the execution of
    ;     scripts will no longer be displayed as a part of the script output, and thus,
    ;     will no longer be exposed to remote users.  With some errors, the error message
    ;     content may expose information about your script, web server, or database
    ;     server that may be exploitable for hacking.  Production sites should have this
    ;     directive set to off.
    ; - log_errors = On                [Security]
    ;     This directive complements the above one.  Any errors that occur during the
    ;     execution of your script will be logged (typically, to your server's error log,
    ;     but can be configured in several ways).  Along with setting display_errors to off,
    ;     this setup gives you the ability to fully understand what may have gone wrong,
    ;     without exposing any sensitive information to remote users.
    ; - output_buffering = 4096        [Performance]
    ;     Set a 4KB output buffer.  Enabling output buffering typically results in less
    ;     writes, and sometimes less packets sent on the wire, which can often lead to
    ;     better performance.  The gain this directive actually yields greatly depends
    ;     on which Web server you're working with, and what kind of scripts you're using.
    ; - register_argc_argv = Off       [Performance]
    ;     Disables registration of the somewhat redundant $argv and $argc global
    ;     variables.
    ; - magic_quotes_gpc = Off         [Performance]
    ;     Input data is no longer escaped with slashes so that it can be sent into
    ;     SQL databases without further manipulation.  Instead, you should use the
    ;     database vendor specific escape string function on each input element you 
    ;     wish to send to a database.
    ; - variables_order = "GPCS"       [Performance]
    ;     The environment variables are not hashed into the $_ENV.  To access
    ;     environment variables, you can use getenv() instead.
    ; - error_reporting = E_ALL        [Code Cleanliness, Security(?)]
    ;     By default, PHP suppresses errors of type E_NOTICE.  These error messages
    ;     are emitted for non-critical errors, but that could be a symptom of a bigger
    ;     problem.  Most notably, this will cause error messages about the use
    ;     of uninitialized variables to be displayed.
    ; - allow_call_time_pass_reference = Off     [Code cleanliness]
    ;     It's not possible to decide to force a variable to be passed by reference
    ;     when calling a function.  The PHP 4 style to do this is by making the
    ;     function require the relevant argument by reference.
    ; - short_open_tag = Off           [Portability]
    ;     Using short tags is discouraged when developing code meant for redistribution
    ;     since short tags may not be supported on the target server.
      

  23.   

    ;;;;;;;;;;;;;;;;;;;;
    ; Language Options ;
    ;;;;;;;;;;;;;;;;;;;;; Enable the PHP scripting language engine under Apache.
    engine = On; Enable compatibility mode with Zend Engine 1 (PHP 4.x)
    zend.ze1_compatibility_mode = Off; Allow the <? tag.  Otherwise, only <?php and <script> tags are recognized.
    ; NOTE: Using short tags should be avoided when developing applications or
    ; libraries that are meant for redistribution, or deployment on PHP
    ; servers which are not under your control, because short tags may not
    ; be supported on the target server. For portable, redistributable code,
    ; be sure not to use short tags.
    short_open_tag = Off; Allow ASP-style <% %> tags.
    asp_tags = Off; The number of significant digits displayed in floating point numbers.
    precision    =  14; Enforce year 2000 compliance (will cause problems with non-compliant browsers)
    y2k_compliance = On; Output buffering allows you to send header lines (including cookies) even
    ; after you send body content, at the price of slowing PHP's output layer a
    ; bit.  You can enable output buffering during runtime by calling the output
    ; buffering functions.  You can also enable output buffering for all files by
    ; setting this directive to On.  If you wish to limit the size of the buffer
    ; to a certain size - you can use a maximum number of bytes instead of 'On', as
    ; a value for this directive (e.g., output_buffering=4096).
    output_buffering = 4096; You can redirect all of the output of your scripts to a function.  For
    ; example, if you set output_handler to "mb_output_handler", character
    ; encoding will be transparently converted to the specified encoding.
    ; Setting any output handler automatically turns on output buffering.
    ; Note: People who wrote portable scripts should not depend on this ini
    ;       directive. Instead, explicitly set the output handler using ob_start().
    ;       Using this ini directive may cause problems unless you know what script
    ;       is doing.
    ; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
    ;       and you cannot use both "ob_gzhandler" and "zlib.output_compression".
    ; Note: output_handler must be empty if this is set 'On' !!!!
    ;       Instead you must use zlib.output_handler.
    ;output_handler =; Transparent output compression using the zlib library
    ; Valid values for this option are 'off', 'on', or a specific buffer size
    ; to be used for compression (default is 4KB)
    ; Note: Resulting chunk size may vary due to nature of compression. PHP
    ;       outputs chunks that are few hundreds bytes each as a result of
    ;       compression. If you prefer a larger chunk size for better
    ;       performance, enable output_buffering in addition.
    ; Note: You need to use zlib.output_handler instead of the standard
    ;       output_handler, or otherwise the output will be corrupted.
    zlib.output_compression = Off
    ;zlib.output_compression_level = -1; You cannot specify additional output handlers if zlib.output_compression
    ; is activated here. This setting does the same as output_handler but in
    ; a different order.
    ;zlib.output_handler =; Implicit flush tells PHP to tell the output layer to flush itself
    ; automatically after every output block.  This is equivalent to calling the
    ; PHP function flush() after each and every call to print() or echo() and each
    ; and every HTML block.  Turning this option on has serious performance
    ; implications and is generally recommended for debugging purposes only.
    implicit_flush = Off; The unserialize callback function will be called (with the undefined class'
    ; name as parameter), if the unserializer finds an undefined class
    ; which should be instantiated.
    ; A warning appears if the specified function is not defined, or if the
    ; function doesn't include/implement the missing class.
    ; So only set this entry, if you really want to implement such a
    ; callback-function.
    unserialize_callback_func=; When floats & doubles are serialized store serialize_precision significant
    ; digits after the floating point. The default value ensures that when floats
    ; are decoded with unserialize, the data will remain the same.
    serialize_precision = 100; Whether to enable the ability to force arguments to be passed by reference
    ; at function call time.  This method is deprecated and is likely to be
    ; unsupported in future versions of PHP/Zend.  The encouraged method of
    ; specifying which arguments should be passed by reference is in the function
    ; declaration.  You're encouraged to try and turn this option Off and make
    ; sure your scripts work properly with it in order to ensure they will work
    ; with future versions of the language (you will receive a warning each time
    ; you use this feature, and the argument will be passed by value instead of by
    ; reference).
    allow_call_time_pass_reference = Off;
    ; Safe Mode
    ;
    safe_mode = Off; By default, Safe Mode does a UID compare check when
    ; opening files. If you want to relax this to a GID compare,
    ; then turn on safe_mode_gid.
    safe_mode_gid = Off; When safe_mode is on, UID/GID checks are bypassed when
    ; including files from this directory and its subdirectories.
    ; (directory must also be in include_path or full path must
    ; be used when including)
    safe_mode_include_dir =; When safe_mode is on, only executables located in the safe_mode_exec_dir
    ; will be allowed to be executed via the exec family of functions.
    safe_mode_exec_dir =; Setting certain environment variables may be a potential security breach.
    ; This directive contains a comma-delimited list of prefixes.  In Safe Mode,
    ; the user may only alter environment variables whose names begin with the
    ; prefixes supplied here.  By default, users will only be able to set
    ; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).
    ;
    ; Note:  If this directive is empty, PHP will let the user modify ANY
    ; environment variable!
    safe_mode_allowed_env_vars = PHP_; This directive contains a comma-delimited list of environment variables that
    ; the end user won't be able to change using putenv().  These variables will be
    ; protected even if safe_mode_allowed_env_vars is set to allow to change them.
    safe_mode_protected_env_vars = LD_LIBRARY_PATH; open_basedir, if set, limits all file operations to the defined directory
    ; and below.  This directive makes most sense if used in a per-directory
    ; or per-virtualhost web server configuration file. This directive is
    ; *NOT* affected by whether Safe Mode is turned On or Off.
    ;open_basedir =; This directive allows you to disable certain functions for security reasons.
    ; It receives a comma-delimited list of function names. This directive is
    ; *NOT* affected by whether Safe Mode is turned On or Off.
    disable_functions =passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server; This directive allows you to disable certain classes for security reasons.
    ; It receives a comma-delimited list of class names. This directive is
    ; *NOT* affected by whether Safe Mode is turned On or Off.
    disable_classes =; Colors for Syntax Highlighting mode.  Anything that's acceptable in
    ; <span style="color: ???????"> would work.
    ;highlight.string  = #DD0000
    ;highlight.comment = #FF9900
    ;highlight.keyword = #007700
    ;highlight.bg      = #FFFFFF
    ;highlight.default = #0000BB
    ;highlight.html    = #000000; If enabled, the request will be allowed to complete even if the user aborts
    ; the request. Consider enabling it if executing long request, which may end up
    ; being interrupted by the user or a browser timing out.
    ; ignore_user_abort = On; Determines the size of the realpath cache to be used by PHP. This value should
    ; be increased on systems where PHP opens many files to reflect the quantity of
    ; the file operations performed.
    ; realpath_cache_size=16k; Duration of time, in seconds for which to cache realpath information for a given
    ; file or directory. For systems with rarely changing files, consider increasing this
    ; value.
    ; realpath_cache_ttl=120;
    ; Misc
    ;
    ; Decides whether PHP may expose the fact that it is installed on the server
    ; (e.g. by adding its signature to the Web server header).  It is no security
    ; threat in any way, but it makes it possible to determine whether you use PHP
    ; on your server or not.
    expose_php = On
    ;;;;;;;;;;;;;;;;;;;
    ; Resource Limits ;
    ;;;;;;;;;;;;;;;;;;;max_execution_time = 30     ; Maximum execution time of each script, in seconds
    max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
    ;max_input_nesting_level = 64 ; Maximum input variable nesting level
    memory_limit = 128M      ; Maximum amount of memory a script may consume (128MB).....另外那个libmysql.dll我也复制到了System32里面了
      

  24.   

    下载掉重新来,现在这个直接按照在windows系统下http://download.csdn.net/source/2558379
      

  25.   

    奇怪,很多都没有了,汗
    我贴出我修改的配置段:;extension=php_bz2.dll
    ;extension=php_curl.dll
    ;extension=php_dba.dll
    ;extension=php_dbase.dll
    ;extension=php_fdf.dll
    extension=php_gd2.dll
    ;extension=php_gettext.dll
    ;extension=php_gmp.dll
    ;extension=php_ifx.dll
    ;extension=php_imap.dll
    ;extension=php_interbase.dll
    ;extension=php_ldap.dll
    extension=php_mbstring.dll
    ;extension=php_exif.dll
    extension=php_mcrypt.dll
    extension=php_mhash.dll
    ;extension=php_mime_magic.dll
    extension=php_ming.dll
    ;extension=php_msql.dll
    ;extension=php_mssql.dll
    extension=php_mysql.dll
    extension=php_mysqli.dll
    ;extension=php_oci8.dll
    extension=php_openssl.dll
    ;extension=php_pdo.dll
    ;extension=php_pdo_firebird.dll
    ;extension=php_pdo_mssql.dll
    extension=php_pdo_mysql.dll
    ;extension=php_pdo_oci.dll
    ;extension=php_pdo_oci8.dll
    ;extension=php_pdo_odbc.dll
    ;extension=php_pdo_pgsql.dll
    ;extension=php_pdo_sqlite.dll
    ;extension=php_pgsql.dll
    ;extension=php_pspell.dll
    ;extension=php_shmop.dll
    ;extension=php_snmp.dll
    ;extension=php_soap.dll
    extension=php_sockets.dll
    ;extension=php_sqlite.dll
    ;extension=php_sybase_ct.dll
    ;extension=php_tidy.dll
    extension=php_xmlrpc.dll
    ;extension=php_xsl.dll
    extension=php_zip.dllextension_dir = "D:\Server_Core\PHP\ext"
    恩,好像也就这两个地方
      

  26.   

      $db=mysql_connect("localhost","u","p");  
      echo $db;
      mysql_select_db("db_11jsyy",$db);  
      $sqltxt="select *  from  cdb_faqs limit 10 ";  
      //echo $sqltxt;
      $Result=mysql_query($sqltxt,$db);  
      $row = mysql_fetch_array($Result); 
     echo '<br>'.$row[0];
      

  27.   

    mysql_connect(localhost,username,pwd);
    mysql_select_db(dbname);
    mysql_close();