PHP内置MySQL函数

1、mysql_connect()——创建数据库链接

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

一、链接成功,返回 MySQL标识符;
php

二、链接失败,返回false。html

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

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

2、数据库扩展

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

不一样的扩展提供基本相近的操做方法,不一样的是可能具有一些新特性,以及操做性能可能会有所不一样。数据库

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);

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

一、设置字符集
fetch

mysql_query("set names 'utf8'");

二、选择数据库

mysql_select_db("db_name");

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

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

4、 mysql_close()——关闭数据库链接

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

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

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

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

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

    二、对于查询类的语句会返回一个资源句柄(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); //执行插入语句


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

echo mysql_error();

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

   在mysql中,执行插入语句之后,能够获得自增的主键id,经过PHP的mysql_insert_id函数能够获取该id。

$uid = mysql_insert_id();

    这个id的做用很是大,一般能够用来判断是否插入成功,或者做为关联ID进行其余的数据操做。

8、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) "西瓜" }

9、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 "没有数据";
    }

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

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

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

11、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);

12、mysql_errno()——mysql错误编号


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

相关文章
相关标签/搜索