PHP内置MySQL函数

2015/11/29 01:21
阅读数 26

一、mysql_connect()——建立数据库连接

<?php
    header("content-type:text/html;charset=utf-8");
    if($con = mysql_connect('localhost','root','root')) {
        echo "连接成功";
        }
    else {
        echo "连接失败";
        }
    //localhost:服务器
    //root:用户名
    //root:密码
?>

1、连接成功,返回 MySQL标识符;

2、连接失败,返回false。

判断PHP是否已经安装mysql扩展:

<?php
    if(function_exists('mysql_connect')) {
        echo "mysql扩展已经安装";
    }
?>

二、数据库扩展

PHP中一个数据库可能有一个或者多个扩展,其中既有官方的,也有第三方提供的。像Mysql常用的扩展有原生的mysql库,也可以使用增强版的mysqli扩展,还可以使用PDO进行连接与操作。

不同的扩展提供基本相近的操作方法,不同的是可能具备一些新特性,以及操作性能可能会有所不同。

mysql扩展进行数据库连接的方法:

$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');

mysqli扩展:

$link = mysqli_connect('mysql_host', 'mysql_user', 'mysql_password');

PDO扩展:

$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
$dbh = new PDO($dsn, $user, $password);

示例:

<?php
$link = mysql_connect('127.0.0.1', 'code1', '') or die('数据库连接失败');
mysql_select_db('code1');
mysql_query("set names 'utf8'");
$result = mysql_query('select * from user limit 1');
$row = mysql_fetch_assoc($result);
print_r($row);

三、mysql_select_db()——选择数据库

1、设置字符集

mysql_query("set names 'utf8'");

2、选择数据库

mysql_select_db("db_name");

连接成功返回TRUE,连接失败返回false。

存在情况:(1)数据库不存在;(2)无权限操作数据库

四、 mysql_close()——关闭数据库连接

$link = mysql_connect("localhost","root","root");
mysql_close($link);

五、mysql_query()—— 执行一条SQL语句

mysql_query("insert into table (name) values('abc')");

返回值根据SQL语句不同而各有不同:

    1、insert语句成功返回TRUE,失败返回FALSE

    2、对于查询类的语句会返回一个资源句柄(resource),可以通过该资源获取查询结果集中的数据。

插入新数据到mysql中:

$sql = "insert into user(name, age, class) values('李四', 18, '高三一班')";
mysql_query($sql); //执行插入语句

    通常数据都是存储在变量或者数组中,因此sql语句需要先进行字符串拼接得到。

$name = '李四';
$age = 18;
$class = '高三一班';
$sql = "insert into user(name, age, class) values('$name', '$age', '$class')";
mysql_query($sql); //执行插入语句


六、mysql_error()——返回mysql错误信息

echo mysql_error();

七、 mysql_insert_id()——获取自增主键ID

   在mysql中,执行插入语句以后,可以得到自增的主键id,通过PHP的mysql_insert_id函数可以获取该id。

$uid = mysql_insert_id();

    这个id的作用非常大,通常可以用来判断是否插入成功,或者作为关联ID进行其他的数据操作。

八、mysql_fetch_——获取和显示数据

1.mysql_fetch_row()

返回整型下标的数组,一次返回一行数据,然后指针下移

2.mysql_fetch_array()

返回整型下标(索引数组)和关联下标数组,一次返回一行数据,然后指针下移;

mysql_fetch_array($result,""),第二个参数可取三个值:

    1.MYSQL_ASSOC——关联数组;

    2.MYSQL_NUM——数字数组;

    3.MYSQL_BOTH——两者皆有(默认)

3.mysql_fetch_assoc()

返回关联数组

4.mysql_fetch_object()

输出对象

调取用:$obj->name

$query = mysql_query("select * from test");
$result = mysql_fetch_object($query);
var_dump($result);
echo $ressult->name;    //输出名字


test数据库:

id(1,2,3)
name(苹果,香蕉,西瓜)
$query = mysql_query("select * from test");
$result = mysql_fetch_row($query);
var_dump($result);

返回查询到的资源的第一条数据:

array(2) { [0]=> string(1) "1" [1]=> string(6) "苹果" }

while循环输出所有结果:

while($result = mysql_fetch_row($query)) {
    var_dump($result);
    }

输出结果:

array(2) { [0]=> string(1) "1" [1]=> string(6) "苹果" } array(2) { [0]=> string(1) "2" [1]=> string(6) "香蕉" } array(2) { [0]=> string(1) "3" [1]=> string(6) "西瓜" }

一条一条输出:

$row1 = mysql_fetch_row($query);    //第一条数据
var_dump($row1);
$row1 = mysql_fetch_row($query);    //第二条数据
var_dump($row1);
$row1 = mysql_fetch_row($query);    //第三条数据
var_dump($row1);
$row1 = mysql_fetch_row($query);    //bool(false)
var_dump($row1);
$row1 = mysql_fetch_row($query);    //bool(false)
var_dump($row1);

输出结果:

array(2) { [0]=> string(1) "1" [1]=> string(6) "苹果" } array(2) { [0]=> string(1) "2" [1]=> string(6) "香蕉" } array(2) { [0]=> string(1) "3" [1]=> string(6) "西瓜" } bool(false) bool(false)

只输出一个字段:

$query = mysql_query("select name from test");
while($result = mysql_fetch_row($query)) {
    var_dump($result);
    }

输出结果:

array(1) { [0]=> string(6) "苹果" } array(1) { [0]=> string(6) "香蕉" } array(1) { [0]=> string(6) "西瓜" }

九、mysql_num_rows()——结果集中行的数目

输出结果为一个数字。

$query = mysql_query("select * from test");
mysql_num_rows($query);

用途:判断取出的结果是否有数据,如果有则输出数据

$query = mysql_query("select * from test");
if($query && mysql_num_rows($query) != 0)
{
    //输出结果
    while($row = mysql_fetch_row($query)) {
        echo $row[0];
    }
}
else {
    echo "没有数据";
    }

十、mysql_result()——返回结果集中一个字段的值

三个参数:结果集的地址、行号(0开始)、字段名或字段位置(0,1,2……)(可为空,默认为第一个字段)

$query = mysql_query("select * from test");
mysql_result($query,0,'name');

十一、mysql_affected_rows()——受影响的记录行数

返回前一次受insert、update、delete影响的记录行数

参数:连接标识符

<?php
$link = mysql_connect('127.0.0.1', 'code1', '') or die('数据库连接失败');
mysql_select_db('code1');
mysql_query("set names 'utf8'");
$result = mysql_query('delete from user limit 1');
echo "删除的数据条数为:".mysql_affected_rows($link);

十二、mysql_errno()——mysql错误编号


十三、mysql_error()——mysql错误信息



展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部