一个函数就可以连接到MySQL数据库,为什么?100献上。

时间:2022-04-14 23:47:52
代码:
 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的驱动程序,进而操作数据库,实现交互的呢?

17 个解决方案

#1


你想得太复杂了,就是API。

#2


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

#3


这应该是自已写的一个数据库操作类。可以直接操作数据库的。

其它没什么。不用什么中间件。

#4


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

#5


引用 4 楼 hero0524 的回复:
为什么一定要用ADO、OLE DB,ODBC之类的才能连接数据库呢?


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

难道,应用程序直接调用MSSQL的驱动程序,而不经过操作系统?

不解,不解啊。。。

#6


看来楼主钻牛角尖了!

#7


引用 6 楼 heroblues 的回复:
看来楼主钻牛角尖了!


一个函数就可以连接到MySQL数据库,为什么?100献上。

#8


引用 5 楼 sssolweb_002 的回复:
引用 4 楼 hero0524 的回复:
为什么一定要用ADO、OLE DB,ODBC之类的才能连接数据库呢?


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

难道,应用程序直接调用MSSQL的驱动程序,而不经过操作系统?

不解,不解啊。。。


大侠嘞???

#9


蛋疼帖~鉴定完毕! 一个函数就可以连接到MySQL数据库,为什么?100献上。

#10


引用 5 楼 sssolweb_002 的回复:
引用 4 楼 hero0524 的回复:
为什么一定要用ADO、OLE DB,ODBC之类的才能连接数据库呢?


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

难道,应用程序直接调用MSSQL的驱动程序,而不经过操作系统?

不解,不解啊。。。

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之类的。

哈哈!不知道我说得对不对,欢迎楼主以及其他各路高手反驳~~本人洗耳恭听!

#11


哥们适合搞程序!~~~

敢于钻研!~~~

#12


只要解决问题,不管什么手段

#13


端口,协议,socket。

#14


在另一个帖子里回过了,不重复了,请楼主参考:

http://topic.csdn.net/u/20101205/19/1cf958b6-950b-4a3a-94cb-a952ea2d93b8.html

#15


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

#16


apache监听的是80端口(默认),mysql默认监听的是3306端口。其实php跟mysql通讯,就是走的socket通讯,与3306端口建立连接,并来回收发数据。php的mysql扩展其实就是规定了一些socket通讯时的数据包收发的规则。

详情可以去研究php源码,ext\mysql\php_mysql.c690行php_mysql_do_connect函数。

#17


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

#1


你想得太复杂了,就是API。

#2


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

#3


这应该是自已写的一个数据库操作类。可以直接操作数据库的。

其它没什么。不用什么中间件。

#4


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

#5


引用 4 楼 hero0524 的回复:
为什么一定要用ADO、OLE DB,ODBC之类的才能连接数据库呢?


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

难道,应用程序直接调用MSSQL的驱动程序,而不经过操作系统?

不解,不解啊。。。

#6


看来楼主钻牛角尖了!

#7


引用 6 楼 heroblues 的回复:
看来楼主钻牛角尖了!


一个函数就可以连接到MySQL数据库,为什么?100献上。

#8


引用 5 楼 sssolweb_002 的回复:
引用 4 楼 hero0524 的回复:
为什么一定要用ADO、OLE DB,ODBC之类的才能连接数据库呢?


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

难道,应用程序直接调用MSSQL的驱动程序,而不经过操作系统?

不解,不解啊。。。


大侠嘞???

#9


蛋疼帖~鉴定完毕! 一个函数就可以连接到MySQL数据库,为什么?100献上。

#10


引用 5 楼 sssolweb_002 的回复:
引用 4 楼 hero0524 的回复:
为什么一定要用ADO、OLE DB,ODBC之类的才能连接数据库呢?


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

难道,应用程序直接调用MSSQL的驱动程序,而不经过操作系统?

不解,不解啊。。。

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之类的。

哈哈!不知道我说得对不对,欢迎楼主以及其他各路高手反驳~~本人洗耳恭听!

#11


哥们适合搞程序!~~~

敢于钻研!~~~

#12


只要解决问题,不管什么手段

#13


端口,协议,socket。

#14


在另一个帖子里回过了,不重复了,请楼主参考:

http://topic.csdn.net/u/20101205/19/1cf958b6-950b-4a3a-94cb-a952ea2d93b8.html

#15


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

#16


apache监听的是80端口(默认),mysql默认监听的是3306端口。其实php跟mysql通讯,就是走的socket通讯,与3306端口建立连接,并来回收发数据。php的mysql扩展其实就是规定了一些socket通讯时的数据包收发的规则。

详情可以去研究php源码,ext\mysql\php_mysql.c690行php_mysql_do_connect函数。

#17


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