本站网址www.sosocms.cn

php怎样衔接mysql5.0?【php教程】,php,mysql

PHP教程 PHP教程 9个月前 (11-30) 320次浏览 0个评论 扫描二维码

PHP与MySQL的衔接有三种API接口,分别是:PHP的MySQL扩大 、PHP的mysqli扩大 、PHP数据对象(PDO) ,下面针对以上三种衔接体式格局做下总结,以备在差别场景下选出最优计划。

php怎样衔接mysql5.0?【php教程】,php,mysql

PHP的MySQL扩大是设想开辟许可php运用与MySQL数据库交互的初期扩大。MySQL扩大供应了一个面向历程的接口,并且是针对MySQL4.1.3或许更早版本设想的。因而这个扩大虽然能够与MySQL4.1.3或更新的数据库效劳端举行交互,但并不支撑后期MySQL效劳端供应的一些特征。因为太陈旧,又不平安,所以已被厥后的mysqli完整庖代;

PHP的mysqli扩大,我们偶然称之为MySQL加强扩大,能够用于运用 MySQL4.1.3或更新版本中新的高等特征。其特性为:面向对象接口 、prepared语句支撑、多语句实行支撑、事件支撑 、加强的调试才能、嵌入式效劳支撑 、预处理体式格局完整处理了sql注入的题目。不过其也有瑕玷,就是只支撑mysql数据库。假如你如果不操纵其他的数据库,这无疑是最好的挑选。

PDO是PHP Data Objects的缩写,是PHP运用中的一个数据库笼统层范例。PDO供应了一个一致的API接口能够使得你的PHP运用不去体贴具体要衔接的数据库效劳器体系范例,也就是说,假如你运用PDO的API,能够在任何须要的时刻无缝切换数据库效劳器,比如从Oracle 到MySQL,仅仅须要修正很少的PHP代码。其功用类似于JDBC、ODBC、DBI之类接口。一样,其也处理了sql注入题目,有很好的平安性。不过他也有瑕玷,某些多语句实行查询不支撑(不过该状况很少)。

1.PHP与Mysql扩大(本扩大自 PHP 5.5.0 起已烧毁,并在未来会被移除),PHP原生的体式格局去衔接数据库,是面向历程的

<?php
$mysql_conf = array(
    'host'    => '127.0.0.1:3306', 
    'db'      => 'test', 
    'db_user' => 'root', 
    'db_pwd'  => 'root', 
    );
$mysql_conn = @mysql_connect($mysql_conf['host'], $mysql_conf['db_user'], $mysql_conf['db_pwd']);
if (!$mysql_conn) {
    die("could not connect to the database:\n" . mysql_error());//诊断衔接毛病
}
mysql_query("set names 'utf8'");//编码转化
$select_db = mysql_select_db($mysql_conf['db']);
if (!$select_db) {
    die("could not connect to the db:\n" .  mysql_error());
}
$sql = "select * from user;";
$res = mysql_query($sql);
if (!$res) {
    die("could get the res:\n" . mysql_error());
}
while ($row = mysql_fetch_assoc($res)) {
    print_r($row);
}
mysql_close($mysql_conn);
?>

2.PHP与Mysqli扩大,面向历程、对象

<?php
$mysql_conf = array(
    'host'    => '127.0.0.1:3306', 
    'db'      => 'test', 
    'db_user' => 'root', 
    'db_pwd'  => 'joshua317', 
    );
$mysqli = @new mysqli($mysql_conf['host'], $mysql_conf['db_user'], $mysql_conf['db_pwd']);
if ($mysqli->connect_errno) {
    die("could not connect to the database:\n" . $mysqli->connect_error);//诊断衔接毛病
}
$mysqli->query("set names 'utf8';");//编码转化
$select_db = $mysqli->select_db($mysql_conf['db']);
if (!$select_db) {
    die("could not connect to the db:\n" .  $mysqli->error);
}$sql = "select uid from user where name = 'joshua';";
$res = $mysqli->query($sql);
if (!$res) {
    die("sql error:\n" . $mysqli->error);
}
 while ($row = $res->fetch_assoc()) {
        var_dump($row);
    }
$res->free();
$mysqli->close();
?>

2.PHP与PDO扩大,面向历程、对象

<?php
$mysql_conf = array(
    'host'    => '127.0.0.1:3306', 
    'db'      => 'test', 
    'db_user' => 'root', 
    'db_pwd'  => 'joshua317', 
    );
$pdo = new PDO("mysql:host=" . $mysql_conf['host'] . ";dbname=" . $mysql_conf['db'], $mysql_conf['db_user'], $mysql_conf['db_pwd']);//建立一个pdo对象
$pdo->exec("set names 'utf8'");
$sql = "select * from user where name = ?";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(1, 'joshua', PDO::PARAM_STR);
$rs = $stmt->execute();
if ($rs) {
    // PDO::FETCH_ASSOC 关联数组情势
    // PDO::FETCH_NUM 数字索引数组情势
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        var_dump($row);
    }
}
$pdo = null;//封闭衔接
?>

以上就是php怎样衔接mysql5.0?的细致内容,更多请关注ki4网别的相干文章!


版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php怎样衔接mysql5.0?【php教程】,php,mysql
喜欢 (0)