PHP mysqli学习(一)数据库连接

根据慕课网学习整理 http://www.imooc.com/learn/349


mysql为面向过程方式,mysqli有面向对象和面向过程两种方式。

mysql 数据库连接:

<?php
header("Content-type: text/html; charset=utf-8");
error_reporting(0);
/******************************************
 * mysql_connect
 * 作    用:建立数据库连接
 * 参    数:数据库服务器地址,数据库用户名,密码
 * 返回值:1、当连接成功的时候返回mysql连接标识符
 * 2、当连接失败的时候返回false
 ********************************************/
$conn = mysql_connect("localhost:3306", "root", "root");
if ($conn) {
    echo "mysql连接成功";
} else {
    echo "mysql连接失败";
}

echo "<br/>";
/******************************************
 * mysql_select_db
 * 作    用:选择数据库
 * 参    数:数据库名称,(mysql连接标识符,可选)
 * 返回值:1、当选择成功的时候返回true
 * 2、当选择失败的时候返回false
 ********************************************/
$db = mysql_select_db("zhy");
if ($db) {
    echo "选择zhy数据库成功";
} else {
    echo "选择zhy数据库失败";
}

echo "<br/>";
/******************************************
 * mysql_query
 * 作    用:执行一条 MySQL 查询
 * 参    数:sql命令,(mysql连接标识符,可选)
 * 返回值:1、当执行成功的时候,目前我们知道的是,insert成功,返回true
 * 2、当执行失败的时候返回false
 ********************************************/
mysql_query('set names utf8');
//if (mysql_query('insert into user(name, age, description) values("吕布", 23, "三姓家奴")')) {
//    echo "插入成功";
//} else {
//    /******************************************
//     * mysql_error
//     * 作    用:返回上一个 MySQL 操作产生的文本错误信息
//     * 参    数:(可选 mysql连接标识符)
//     * 返回值:1、返回上一个 MySQL 操作产生的文本错误信息
//     ********************************************/
//    echo mysql_error();
//    echo "插入失败";
//}

echo "<br/>";
$query = mysql_query('select * from user');//当mysql_query 执行的sql是select语句的时候,如果执行成功,返回的是资源标识符
//print_r(mysql_result($query, 0));
echo "<br/>";
/******************************************
 * mysql_fetch_row
 * 每执行一次,都从资源也就是结果集里依次取一条数据,以数组的形式返回出来,当前一次已经取到最后一条数据的时候,这一次返回空结果。
 * 返回的数组是一个一维索引数组,每一个下标与数据库里字段的排序相对应。
 ********************************************/
while($row = mysql_fetch_row($query)){//我们发现它返回出了查询到的资源的第一条数据
//    echo $row[0].$row[1].'<br />';
    var_dump($row);
}

/******************************************
 * mysql_close
 * 作    用:函数关闭非持久的 MySQL 连接
 * 参    数:mysql连接标识符
 * 返回值:1、关闭成功true
 * 2、关闭失败false
 ********************************************/
mysql_close($con);

mysqli 数据库连接:

<?php
header('content-type:text/html;charset=utf-8');
/***********************************
 * 方式一                           *
 ***********************************/
//$mysqli = new mysqli("localhost:3306", "root", "root");
//$mysqli->select_db("zhy");
//print_r($mysqli);

/***********************************
 * 方式二                           *
 ***********************************/
//$mysqli = new mysqli("localhost:3306", "root", "root", "zhy");
//print_r($mysqli);

/***********************************
 * 方式三                           *
 ***********************************/
//$mysqli = new mysqli();
//$mysqli->connect("localhost:3306", "root", "root", "zhy");

/********************************************
 * 方式四 打印错误信息
 * $mysqli->connect_errno:得到连接产生的错误编号
 * $mysqli->connect_error:得到连接产生的错误信息
 ********************************************/
$mysqli = @new mysqli("localhost:3306", "root", "root", "zhy");
if ($mysqli->connect_errno) {
    die('Connect Error:' . $mysqli->connect_error);
}
/***********************************
 * 设置默认的客户端编码方式utf8
 ***********************************/
$mysqli->set_charset("utf8");

/*******************************************************************************
 * 执行SQL查询
 *
 * SELECT/DESC/DESCRIBE/SHOW/EXPLAIN执行成功返回mysqli_result对象,执行失败返回false
 * 对于其它SQL语句的执行,执行成功返回true,否则返回false(如create、update、insert)
 *******************************************************************************/
$sql = <<<EOF
    CREATE TABLE IF NOT EXISTS mysqli(
        id TINYINT UNSIGNED AUTO_INCREMENT KEY,
        username VARCHAR(20) NOT NULL
    );
EOF;
$res = $mysqli->query($sql);
var_dump($res);

/***********************************
 * 关闭数据库
 ***********************************/
$mysqli->close();

 

posted @ 2016-05-04 10:11  皎如飞镜临丹阙  阅读(166)  评论(0编辑  收藏  举报