PHP链接数据库

来源:互联网 发布:rs232端口是什么意思 编辑:程序博客网 时间:2024/05/17 01:17

    在PHP中链接mysql数据库,首先要知道PHP中提供的链接mysql数据库API(这里为什么说是mysql的呢?那是因为如果是别的数据库例如Oracle,就要用链接Oracle的API了,但是基本的步骤都差不多的,本文只说mysql),一般会用到的有mysql_connect()、mysql_select_db()和mysql_query()。

    mysql_connect()是链接数据库,mysql_select_db()是用哪个数据库,跟输入(use 表名;)一样,mysql_query()是执行一句sql代码与数据库进行交互,首先必须是跟数据库建立链接,数据库实际上是一个服务端,我们访问它的话需要跟它建立链接,当然数据库也要向外界提供访问权限才能让我们访问到,一般在企业应用中,数据库服务器是不对外开放的,要访问它只能通过内网的方式,如果外网的话,那只能是通过类似于vpn的方式,先访问web服务器,然后通过web服务器访问数据库服务器。在这里,我之前的公司的做法是,因为服务器都不是我们自己的,都在别人那里,所以首先登陆vpn账号(这个是合作公司提供的),链接到合作服务器那边的内网,然后登陆他们的web服务器,这里要说明一下,一般来说服务器用的都是Linux系统或者Unix系统,所以为了方便起见用了一个工具来登陆到他们的终端,这个软件叫做SecureCRT,有了VPN还不行,这里还需要一个密钥,是用SSH的,也是合作公司提供的。用SecureCRT可以绑定一个密钥,就可以登陆上去了。然后访问他们的数据库服务器也是需要SSH协议,SSH 192.XX.XXX 的方式访问他们的数据库服务器。登陆之后就可以用mysql的命令了:

mysql -u root -p回车

输入数据库密码回车就可以登陆进去了

然后进去一顿狂敲:

show databases;use 表名;select * from 表名;update 表名 set 字段 where 约束条件;
. . .

    额有点扯远了,这里只是为了说明实际中是怎么做的,这里的PHP要放到web服务器上面,这样才能通过内网的IP访问到数据库服务器。回到链接数据库,一般我会封装好一个PHP为conn.php,作用是链接数据库,然后提供一些CRUD的方法,需要用到的时候只要 include("conn.php")就可以了。

<?PHP    $host = "192.168.1.2:3306";//数据库服务器的IP    $user = "root";//登陆用户名    $pwd = "123456";//密码    $dataDase = "要访问的数据库名字";    initDB($host, $user, $pwd, $dataDase);    //初始化    function initDB($host, $user, $pwd, $dataDase){        mysql_connect($host, $user, $pwd) or webExit("Unable to connect to mysql");        mysql_select_db($dataDase) or webExit("Unable to select database");        mysql_query("set names utf8");//设置编码方式UTF-8    }    //错误提示输出    function webExit($str){        //die("SQL ERROR");        echo "connected=$str";        die("<HTML><BODY bgcolor=#E6E6FF><br><center>".$str."</center><br><hr /></BODY></HTML>");    }    //插入记录    function insertValue($table,$insertField,$insertContent){        $sql="insert into $table (".$insertField.") values(".$insertContent.")";        mysql_query($sql) or webExit($sql);    }    //更新记录    function updateValue($table,$field,$sqlWhere){        $sql="update $table set $field  $sqlWhere";        $result=mysql_query($sql) or webExit($sql);    }    //删除记录    function deleteValue($table,$sqlWhere){        $sql="delete from $table $sqlWhere";        $result=mysql_query($sql) or webExit($sql);    }    //获取记录    function getValue($table,$field,$sqlWhere){        $sql="select $field from $table $sqlWhere";        $result=mysql_query($sql) or webExit($sql);        $rows=mysql_fetch_object($result);        return $rows;    }    //获取多条记录    function getValues($table,$field,$sqlWhere){        $sql="select $field from $table $sqlWhere";        $result=mysql_query($sql) or webExit($sql);        return $result;    }?>



原创粉丝点击