代码:
 function __construct($host,$user,$pass,$db) {
        $this->link_id=mysql_pconnect($host,$user,$pass); //连接数据库服务器
        mysql_select_db($db,$this->link_id);              //选择所需数据库
        //mysql_query("set names utf8;");
    }只要利用“mysql_pconnect”函数就可以连接到指定的MySQL数据库,请问这是为什么?问题一:中间利用了ADO、OLE DB,还是ODBC?问题二:怎样调用MySQL的驱动程序,进而操作数据库,实现交互的呢?

解决方案 »

  1.   

    楼主去看看php的ext文件夹吧,有php_mysql.dll文件,你就能连接MySQL.
      

  2.   

    为什么一定要用ADO、OLE DB,ODBC之类的才能连接数据库呢?
      

  3.   


    不然怎么连接到数据库,不是要通过MS的操做系统的“ADO、OLE DB,ODBC”,然后调用MYSQL的驱动程序,实现应用程序和MSSQL之间的数据的交互的吗?难道,应用程序直接调用MSSQL的驱动程序,而不经过操作系统?不解,不解啊
      

  4.   

    windows和linux是截然不同的两个操作系统,不要以windows的思维去研究linux。
    之所以说php快捷方便,其优点在于此,方便!只需要mysql_connect,mysqli_connect,mysql_pconnect之类的函数就能连接mysql数据库。
    我不知道楼主有没有在linux编译过php。安装php的步骤以及方式,windows和linux是不一样的。我先给你看看编译命令吧。
    './configure' '--prefix=/usr/local/php' '--with-mysql=/usr/local/mysql' '--with-mysqli=/usr/local/mysql/bin/mysql_config'
    我只给你贴了一小部分命令,当然,你要安装更多插件,就得输入更多的命令。
    你想用LAMP环境来开发php网站的话,先安装mysql数据库,最后一个安装php。
    '--with-mysql=/usr/local/mysql' '--with-mysqli=/usr/local/mysql/bin/mysql_config' 这句话包含的意思你该明白吧,就是说编译php的时候已经把mysql的安装目录以及设置参数都载入了,也就是说安装php之后php和mysql已经做好连接准备了。就是楼主说过的所谓的ADO,OLE DB,ODBC之类的。哈哈!不知道我说得对不对,欢迎楼主以及其他各路高手反驳~~本人洗耳恭听!
      

  5.   

    在另一个帖子里回过了,不重复了,请楼主参考:http://topic.csdn.net/u/20101205/19/1cf958b6-950b-4a3a-94cb-a952ea2d93b8.html
      

  6.   

    管他什么什么的,能用就行,发下我的连接代码
    <?
    $database_address = "数据库IP";
    $database_username = "数据库名称";
    $database_password = "数据库密码";
    $database_tablename = "数据库";
    $con = mysql_connect($database_address, $database_username, $database_password);
    mysql_select_db($database_tablename, $con);
    ?>
      

  7.   

    apache监听的是80端口(默认),mysql默认监听的是3306端口。其实php跟mysql通讯,就是走的socket通讯,与3306端口建立连接,并来回收发数据。php的mysql扩展其实就是规定了一些socket通讯时的数据包收发的规则。详情可以去研究php源码,ext\mysql\php_mysql.c690行php_mysql_do_connect函数。
      

  8.   

    认真你就输了,研究这个没有任何实际意义,假如你不是想参与php的编写