95992828九五至尊2

前者学PHP之mysql扩张函数

三月 25th, 2019  |  882828九五至尊手机版

眼下的话

  mysql由于其体量小、速度快、总体拥有开支低,越发是全部开放源码这一特色,许多中小型网站为了降低网站全部拥有资金财产而采用了mysql作为网站数据库。而选用mysql数据库管理类别与php脚本语言相结合的数据库系统缓解方案,正被愈多的网站所采取,在这之中以LAMP(linux+apche+mysql+php)方式极其流行

  PHP有规范的函数用来操作数据库,mysqli是PHP5中新加的,是对mysql扩展的勘误。但出于历史遗留难题,好多老品种是在PHP4中使用mysql拓展开发的,假若在原有的门类上拓展叁次开发,都务求接纳mysql拓展函数。要是是新设计的项目,推荐应用mysqli拓展或PDO技术。本文重要介绍PHP中的mysql拓展函数

 

日前的话

  mysql由于其体量小、速度快、总体拥有费用低,尤其是有着开放源码这一特征,许多中型小型型网站为了下降网站全体拥有资金财产而挑选了mysql作为网站数据库。而采取mysql数据库管理种类与php脚本语言相结合的数据库系统缓解方案,正被更多的网站所选取,当中以LAMP(linux+apche+mysql+php)格局极其盛行

  PHP有正式的函数用来操作数据库,mysqli是PHP5中新加的,是对mysql扩展的改进。但鉴于历史遗留难点,好多老项目是在PHP4中利用mysql拓展开发的,假使在本来的类型上进行三次开发,都须求利用mysql拓展函数。如果是新设计的项目,推荐应用mysqli拓展或PDO技术。本文首要介绍PHP中的mysql拓展函数

总括

  在PHP脚本中操作MySQL数据库的的多少个步骤如下:

  壹 、连接MySQL数据库服务器,并认清是不是连接正确

  ② 、采取数据库,并安装字符集(可选)

  3、执行SQL命令

  ④ 、处理结果集

  伍 、关闭数据库连接

 

总括

  在PHP脚本中操作MySQL数据库的的多少个步骤如下:

  一 、连接MySQL数据库服务器,并认清是或不是连接正确

  贰 、选择数据库,并设置字符集

  3、执行SQL命令

  4、处理结果集

  五 、关闭数据库连接

连天MySQL数据库服务器,并认清是还是不是连接正确

mysql_connect()

  mysql_connect()函数用来开辟三个到 MySQL
服务器的连日。假诺成功则赶回贰个财富, 只怕在失利时重返FALSE

resource mysql_connect ([ string $server [, string $username [, string $password [, bool $new_link [, int $client_flags ]]]]] )

mysql_errno()

  mysql_errno()函数用于重返上3个 MySQL
操作中的错误消息的数字编码

int mysql_errno ([ resource $link_identifier ] )

mysql_error()

  mysql_error()函数用于重返上二个 MySQL
操作产生的文书错误音讯。如若没有点名连接财富号,则采纳上贰在那之中标打开的接连从
MySQL 服务器提取错误音讯

string mysql_error ([ resource $link_identifier ] )

<?php
$link = mysql_connect('localhost','root','123456');
var_dump($link);//resource(3, mysql link)
if(!$link){
    die('连接失败:'.mysql_error());
}
?>

 

连接MySQL数据库服务器,并认清是还是不是连接正确

mysql_connect()

  mysql_connect()函数用来开辟二个到 MySQL
服务器的连接。假使成功则赶回一个财富, 只怕在战败时重回FALSE

resource mysql_connect ([ string $server [, string $username [, string $password [, bool $new_link [, int $client_flags ]]]]] )

mysql_errno()

  mysql_errno()函数用于再次回到上多个 MySQL
操作中的错误音信的数字编码

int mysql_errno ([ resource $link_identifier ] )

mysql_error()

  mysql_error()函数用于再次回到上二个 MySQL
操作发生的公文错误音讯。假设没有点名连接能源号,则选用上二个打响打开的连日从
MySQL 服务器提取错误新闻

string mysql_error ([ resource $link_identifier ] )

<?php$link = mysql_connect('localhost','root','123456');var_dump($link);//resource(3, mysql link)if(!$link){    die('连接失败:'.mysql_error;}?>

选拔数据库,并安装字符集(可选)

  日常,数据库的创导工作都以先由数据库管理员(DBA)建立,再由PHP程序员在本子中应用。例如,创制3个名为bookstore的数据库

882828九五至尊手机版 1

  使用PHP脚本建立与mysql服务器的接二连三之后,为了制止每一次调用PHP的mysql增添函数都钦点指标数据库,最佳先用mysql_select_db()函数为持续操作选定二个私下认可数据库,那几个函数与SQL命令”USE
bookstore”效用相似

mysql_select_db()

  mysql_select_db()函数用于接纳 MySQL 数据库

bool mysql_select_db ( string $database_name [, resource $ link_identifier ] )

<?php
$link = mysql_connect('localhost','root','123456');
var_dump($link);//resource(3, mysql link)
if(!$link){
    die('连接失败:'.mysql_error());
}
mysql_select_db('bookstore',$link) or die('不能选定数据库bookstore:' .mysql_error());

mysql_query('set names utf8');//设置字符集(一般不常用)
?>

 

分选数据库,并设置字符集

  平日,数据库的创造工作都以先由数据库管理员建立,再由PHP程序员在剧本中运用。例如,制造一个名为bookstore的数据库

882828九五至尊手机版 2

  使用PHP脚本建立与mysql服务器的接连之后,为了防止每趟调用PHP的mysql扩充函数都内定目的数据库,最棒先用mysql_select_db()函数为后续操作选定3个默许数据库,这一个函数与SQL命令”USE
bookstore”功能相似

mysql_select_db()

  mysql_select_db()函数用于采纳 MySQL 数据库

bool mysql_select_db ( string $database_name [, resource $ link_identifier ] )

<?php$link = mysql_connect('localhost','root','123456');var_dump($link);//resource(3, mysql link)if(!$link){    die('连接失败:'.mysql_error;}mysql_select_db('bookstore',$link) or die('不能选定数据库bookstore:' .mysql_error;mysql_query('set names utf8');//设置字符集?>

执行SQL命令

  首先,在bookstore数据库中创建一张books数据表

CREATE TABLE books(
    id INT NOT NULL AUTO_INCREMENT,
    bookname VARCHAR(80) NOT NULL DEFAULT '',
    publisher VARCHAR(60) NOT NULL DEFAULT '',
    author VARCHAR(20) NOT NULL DEFAULT '',
    price DOUBLE(5,2) NOT NULL DEFAULT 0.00,
    ptime INT NOT NULL DEFAULT 0,
    pic CHAR(24) NOT NULL DEFAULT '',
    detail TEXT,
    PRIMARY KEY(id));
));

882828九五至尊手机版 3

  在PHP中,只要把SQL命令作为2个字符串传递给mysql_query()函数,就会将其发送到MYSQL服务器并实行

mysql_query()

  mysql_query()函数用于发送一条 MySQL 查询。mysql_query() 仅对
SELECT,SHOW,DESC库罗德IBE, EXPLAIN
和别的语句重返二个resource,若是查询出现谬误则赶回 FALSE;对于任何项指标SQL 语句,比如INSEHighlanderT, UPDATE, DELETE, DROP 之类, mysql_query()
在举行成功时回来 TRUE,出错开上下班时间回来 FALSE

resource mysql_query ( string $query [, resource $link_identifier = NULL ] )

  将要插入的3条INSEOdysseyT语句注脚为贰个字符串

$insert = "insert into books(bookname, publisher, author, price, detail) values
('PHP','电子工业出版社','张三','80.00','PHP相关'),
('ASP','电子工业出版社','李四','90.00','ASP相关'),
('JSP','电子工业出版社','王五','70.00','JSP相关')";

  使用mysql_query()函数发送INSE中华VT语句,假使成功重回true,败北则赶回false

$result = mysql_query($insert);
var_dump($result);

882828九五至尊手机版 4

mysql_affected_rows()

  mysql_affected_rows()函数用于获取前2遍 MySQL
操作所影响的记录行数。执行成功则赶回受影响的行的数目,假设近年来一回查询退步以来,函数重临-1

int mysql_affected_rows ([ resource $link_identifier = NULL ] )

var_dump(mysql_affected_rows());//int3 

  日常通过判断mysql_affected_rows()函数的值是或不是大于0来分明数据操作是还是不是成功

mysql_insert_id()

  mysql_insert_id()函数用来赢得上一步 INSEPAJEROT 操作爆发的 ID

int mysql_insert_id ([ resource $link_identifier ] )

<?php
$insert = "insert into books(bookname, publisher, author, price, detail) values
('PHP','电子工业出版社','张三','80.00','PHP相关'),
('ASP','电子工业出版社','李四','90.00','ASP相关'),
('JSP','电子工业出版社','王五','70.00','JSP相关')";
$result = mysql_query($insert);
if($result && mysql_affected_rows() > 0){
    //刷新页面两次后,相当于插入了两次数据。页面显示数据记录插入成功,最后一条插入的数据记录id为:4
    echo "数据记录插入成功,最后一条插入的数据记录id为:".mysql_insert_id()."<br>";
}else{
    //若在数据表删除后,则显示数据记录插入失败,错误号:1146,错误原因:La table 'bookstore.books' n'existe pas
    echo "数据记录插入失败,错误号:".mysql_errno().",错误原因:".mysql_error()."<br>";
}
?>

  实际上,最终三个id应该为6,可是出于肆 、伍 、6三条语句是还要插入的,那时突显的是率先个id为4

882828九五至尊手机版 5

  上边,将id为4的笔录的撰稿人修改为小白

$result = mysql_query("UPDATE books SET author='小白' WHERE id='4'");
if($result && mysql_affected_rows() > 0){

    echo "数据记录修改成功<br>";
}else{
    echo "数据记录修改失败,错误号:".mysql_errno().",错误原因:".mysql_error()."<br>";
}

882828九五至尊手机版 6

  上面,删除小编为李四的记录

$result = mysql_query("DELETE FROM books WHERE author='李四'");
if($result && mysql_affected_rows() > 0){

    echo "数据记录删除成功<br>";
}else{
    echo "数据记录删除失败,错误号:".mysql_errno().",错误原因:".mysql_error()."<br>";
}

882828九五至尊手机版 7

882828九五至尊手机版, 

执行SQL命令

  首先,在bookstore数据库中开创一张books数据表

CREATE TABLE books(    id INT NOT NULL AUTO_INCREMENT,    bookname VARCHAR(80) NOT NULL DEFAULT '',    publisher VARCHAR(60) NOT NULL DEFAULT '',    author VARCHAR(20) NOT NULL DEFAULT '',    price DOUBLE NOT NULL DEFAULT 0.00,    ptime INT NOT NULL DEFAULT 0,    pic CHAR(24) NOT NULL DEFAULT '',    detail TEXT,    PRIMARY KEY;

882828九五至尊手机版 8

  在PHP中,只要把SQL命令作为二个字符串传递给mysql_query()函数,就会将其发送到MYSQL服务器并进行

mysql_query()

  mysql_query()函数用于发送一条 MySQL 查询。mysql_query() 仅对
SELECT,SHOW,DESC酷威IBE, EXPLAIN
和别的语句重返二个resource,倘诺查询现身错误则赶回 FALSE;对于任何项指标SQL 语句,比如INSECR-VT, UPDATE, DELETE, DROP 之类, mysql_query()
在推行成功时回来 TRUE,出错开上下班时间回来 FALSE

resource mysql_query ( string $query [, resource $link_identifier = NULL ] )

  将要插入的3条INSE纳瓦拉T语句注脚为二个字符串

$insert = "insert into books(bookname, publisher, author, price, detail) values('PHP','电子工业出版社','张三','80.00','PHP相关'),('ASP','电子工业出版社','李四','90.00','ASP相关'),('JSP','电子工业出版社','王五','70.00','JSP相关')";

  使用mysql_query()函数发送INSE奥迪Q7T语句,假设成功再次来到true,失利则赶回false

$result = mysql_query($insert);var_dump($result);

882828九五至尊手机版 9

mysql_affected_rows()

  mysql_affected_rows()函数用于获取前一回 MySQL
操作所影响的记录行数。执行成功则赶回受影响的行的数据,假若最近3遍查询失利以来,函数重回-1

int mysql_affected_rows ([ resource $link_identifier = NULL ] )

var_dump(mysql_affected_rows;//int3 

  日常经过判断mysql_affected_rows()函数的值是不是大于0来鲜明数据操作是不是成功

mysql_insert_id()

  mysql_insert_id()函数用来得到上一步 INSEMuranoT 操作产生的 ID

int mysql_insert_id ([ resource $link_identifier ] )

<?php$insert = "insert into books(bookname, publisher, author, price, detail) values('PHP','电子工业出版社','张三','80.00','PHP相关'),('ASP','电子工业出版社','李四','90.00','ASP相关'),('JSP','电子工业出版社','王五','70.00','JSP相关')";$result = mysql_query($insert);if($result && mysql_affected_rows() > 0){    //刷新页面两次后,相当于插入了两次数据。页面显示数据记录插入成功,最后一条插入的数据记录id为:4    echo "数据记录插入成功,最后一条插入的数据记录id为:".mysql_insert_id()."<br>";}else{    //若在数据表删除后,则显示数据记录插入失败,错误号:1146,错误原因:La table 'bookstore.books' n'existe pas    echo "数据记录插入失败,错误号:".mysql_errno().",错误原因:".mysql_error()."<br>";}?>

  实际上,尾数id应该为6,可是出于肆 、五 、6三条语句是还要插入的,那时展现的是率先个id为4

882828九五至尊手机版 10

  下边,将id为4的记录的笔者修改为小白

$result = mysql_query("UPDATE books SET author='小白' WHERE id='4'");if($result && mysql_affected_rows() > 0){    echo "数据记录修改成功<br>";}else{    echo "数据记录修改失败,错误号:".mysql_errno().",错误原因:".mysql_error()."<br>";}

882828九五至尊手机版 11

  上边,删除笔者为李四的记录

$result = mysql_query("DELETE FROM books WHERE author='李四'");if($result && mysql_affected_rows() > 0){    echo "数据记录删除成功<br>";}else{    echo "数据记录删除失败,错误号:".mysql_errno().",错误原因:".mysql_error()."<br>";}

882828九五至尊手机版 12

处理结果集

  在PHP脚本中施行SELECT查询命令,也是调用mysql_query()函数,但和推行DML差异的是,执行SELECT命令之后,mysql_query()函数的再次来到值是多个PHP财富的引用指针(结果集)。那个再次来到值能够在各样结果集处理函数中,对结果数据表的一一字段举行处理

mysql_num_fields()

  mysql_num_田野s()函数取得结果集中字段的数额

int mysql_num_fields ( resource $result )

mysql_num_rows()

  mysql_num_rows()函数取得结果集中央银行的数据

int mysql_num_rows ( resource $result )

$result = mysql_query("SELECT * FROM books");
$rows = mysql_num_rows($result);
$cols = mysql_num_fields($result);
var_dump($rows,$cols);//int 4 int 8

  从结果中得以见到,该结果集一起有4行8列

 882828九五至尊手机版 13

  如若供给拜访结果集中的多少,能够选用mysql_fetch_row()、mysql_fetch_assoc()、mysql_fetch_array()、mysql_fetch_object()那多少个函数中的任意二个

mysql_fetch_row()

  mysql_fetch_row()函数从结果集中取得一行作为枚举数组

array mysql_fetch_row ( resource $result )

  借使急需拜访结果集中的数据,能够选择mysql_fetch_row()、mysql_fetch_assoc()、mysql_fetch_array()、mysql_fetch_object()那陆个函数中的任意三个

mysql_fetch_row()

  mysql_fetch_row()函数从结果集中取得一行作为枚举数组

array mysql_fetch_row ( resource $result )

$result = mysql_query("SELECT * FROM books");
$row = mysql_fetch_row($result);
//Array ( [0] => 1 [1] => PHP [2] => 电子工业出版社 [3] => 张三 [4] => 80.00 [5] => 0 [6] => [7] => PHP相关 )
print_r($row);
$row = mysql_fetch_row($result);
//Array ( [0] => 3 [1] => JSP [2] => 电子工业出版社 [3] => 王五 [4] => 70.00 [5] => 0 [6] => [7] => JSP相关 )
print_r($row);

mysql_fetch_assoc()

  mysql_fetch_assoc()函数从结果集中取得一行作为涉及数组

array mysql_fetch_assoc ( resource $result )

$result = mysql_query("SELECT * FROM books");
$assoc = mysql_fetch_assoc($result);
//Array ( [id] => 1 [bookname] => PHP [publisher] => 电子工业出版社 [author] => 张三 [price] => 80.00 [ptime] => 0 [pic] => [detail] => PHP相关 )
print_r($assoc);
$assoc = mysql_fetch_assoc($result);
//Array ( [id] => 3 [bookname] => JSP [publisher] => 电子工业出版社 [author] => 王五 [price] => 70.00 [ptime] => 0 [pic] => [detail] => JSP相关 )
print_r($assoc);

mysql_fetch_array()

  mysql_fetch_array()函数从结果集中取得一行作为涉及数组,或数字数组,或双边兼有。mysql_fetch_array()
中可选的第三个参数 result_type
是一个常量,还可以以下值:MYSQL_ASSOC,MYSQL_NUM 和
MYSQL_BOTH,默许值是 MYSQL_BOTH

array mysql_fetch_array ( resource $result [, int $ result_type ] )

$result = mysql_query("SELECT * FROM books");
$array = mysql_fetch_array($result);
//Array ( [0] => 1 [id] => 1 [1] => PHP [bookname] => PHP [2] => 电子工业出版社 [publisher] => 电子工业出版社 [3] => 张三 [author] => 张三 [4] => 80.00 [price] => 80.00 [5] => 0 [ptime] => 0 [6] => [pic] => [7] => PHP相关 [detail] => PHP相关 )
print_r($array);
$array = mysql_fetch_array($result);
// Array ( [0] => 3 [id] => 3 [1] => JSP [bookname] => JSP [2] => 电子工业出版社 [publisher] => 电子工业出版社 [3] => 王五 [author] => 王五 [4] => 70.00 [price] => 70.00 [5] => 0 [ptime] => 0 [6] => [pic] => [7] => JSP相关 [detail] => JSP相关 )
print_r($array);

mysql_fetch_object()

  mysql_fetch_object()函数从结果集中取得一行作为靶子

object mysql_fetch_object ( resource $result )

$result = mysql_query("SELECT * FROM books");
$object = mysql_fetch_object($result);
//stdClass Object ( [id] => 1 [bookname] => PHP [publisher] => 电子工业出版社 [author] => 张三 [price] => 80.00 [ptime] => 0 [pic] => [detail] => PHP相关 )
print_r($object);
$object = mysql_fetch_object($result);
//stdClass Object ( [id] => 3 [bookname] => JSP [publisher] => 电子工业出版社 [author] => 王五 [price] => 70.00 [ptime] => 0 [pic] => [detail] => JSP相关 )
print_r($object);

  对于地点的四个函数来说,暗中认可指针都指向第贰行记录。在获得一行记录后,指针会自行下移。假设是终极一委,则函数再次回到false。一般地,mysql_fetch_assoc()那种再次来到关联数组情势的函数较常用

mysql_data_seek()

  mysql_data_seek()函数能够移动内部结果的指针

  [注意]$row_number从0开始

bool mysql_data_seek ( resource $result , int $row_number )

$result = mysql_query("SELECT * FROM books");
$assoc = mysql_fetch_assoc($result);
mysql_data_seek($result , 2);
$assoc = mysql_fetch_assoc($result);
Array ( [id] => 4 [bookname] => PHP [publisher] => 电子工业出版社 [author] => 小白 [price] => 80.00 [ptime] => 0 [pic] => [detail] => PHP相关 )
print_r($assoc);
mysql_data_seek($result , 0);
$assoc = mysql_fetch_assoc($result);
//Array ( [id] => 1 [bookname] => PHP [publisher] => 电子工业出版社 [author] => 张三 [price] => 80.00 [ptime] => 0 [pic] => [detail] => PHP相关 )
print_r($assoc);

  上边选取while循环和mysql_fetch_assoc()函数将结果集以表格的花样显得出来

<style>
.table{
    border:1px solid black;
    border-collapse:collapse;
    table-layout:fixed;
}
</style>

$result = mysql_query("SELECT id,bookname,publisher,author,price FROM books");
echo '<table border="1" width="800" class="table">';
echo '<tr>';
echo '<th>编号</th>';
echo '<th>书名</th>';
echo '<th>出版社</th>';
echo '<th>作者</th>';
echo '<th>价格</th>';
echo '</tr>';
while($assoc = mysql_fetch_assoc($result)) {
    echo '<tr>';
    echo "<td>{$assoc['id']}</td>";
    echo "<td>{$assoc['bookname']}</td>";
    echo "<td>{$assoc['publisher']}</td>";
    echo "<td>{$assoc['author']}</td>";
    echo "<td>{$assoc['price']}</td>";
    echo '</tr>';
}
echo '</table>';

882828九五至尊手机版 14

mysql_free_result()

  mysql_free_result()函数用于释放结果内部存储器

bool mysql_free_result ( resource $result )

  mysql_free_result()
仅须要在设想到再次来到十分大的结果集时会占用多少内部存款和储蓄器时调用。在本子截止后具备涉及的内部存款和储蓄器都会被机关释放

 

处理结果集

  在PHP脚本中执行SELECT查询命令,也是调用mysql_query()函数,但和实践DML区别的是,执行SELECT命令之后,mysql_query()函数的重临值是3个PHP财富的引用指针。这些重回值能够在各样结果集处理函数中,对结果数据表的逐条字段实行处理

mysql_num_fields()

  mysql_num_田野(field)s()函数取得结果集中字段的数目

int mysql_num_fields ( resource $result )

mysql_num_rows()

  mysql_num_rows()函数取得结果集中央银行的数额

int mysql_num_rows ( resource $result )

$result = mysql_query("SELECT * FROM books");$rows = mysql_num_rows($result);$cols = mysql_num_fields($result);var_dump($rows,$cols);//int 4 int 8

  从结果中得以见见,该结果集一起有4行8列

882828九五至尊手机版 15

  假诺要求拜访结果集中的数额,能够选择mysql_fetch_row()、mysql_fetch_assoc()、mysql_fetch_array()、mysql_fetch_object()那陆个函数中的任意叁个

mysql_fetch_row()

  mysql_fetch_row()函数从结果集中取得一行作为枚举数组

array mysql_fetch_row ( resource $result )

  假设急需拜访结果集中的多寡,可以选用mysql_fetch_row()、mysql_fetch_assoc()、mysql_fetch_array()、mysql_fetch_object()那5个函数中的任意一个

mysql_fetch_row()

  mysql_fetch_row()函数从结果集中取得一行作为枚举数组

array mysql_fetch_row ( resource $result )

$result = mysql_query("SELECT * FROM books");$row = mysql_fetch_row($result);//Array ( [0] => 1 [1] => PHP [2] => 电子工业出版社 [3] => 张三 [4] => 80.00 [5] => 0 [6] => [7] => PHP相关 )print_r($row);$row = mysql_fetch_row($result);//Array ( [0] => 3 [1] => JSP [2] => 电子工业出版社 [3] => 王五 [4] => 70.00 [5] => 0 [6] => [7] => JSP相关 )print_r($row);

mysql_fetch_assoc()

  mysql_fetch_assoc()函数从结果集中取得一行作为关周到组

array mysql_fetch_assoc ( resource $result )

$result = mysql_query("SELECT * FROM books");$assoc = mysql_fetch_assoc($result);//Array ( [id] => 1 [bookname] => PHP [publisher] => 电子工业出版社 [author] => 张三 [price] => 80.00 [ptime] => 0 [pic] => [detail] => PHP相关 )print_r($assoc);$assoc = mysql_fetch_assoc($result);//Array ( [id] => 3 [bookname] => JSP [publisher] => 电子工业出版社 [author] => 王五 [price] => 70.00 [ptime] => 0 [pic] => [detail] => JSP相关 )print_r($assoc);

mysql_fetch_array()

  mysql_fetch_array()函数从结果集中取得一行作为关乎数组,或数字数组,或双方兼有。mysql_fetch_array()
中可选的第2个参数 result_type
是2个常量,还不错以下值:MYSQL_ASSOC,MYSQL_NUM 和
MYSQL_BOTH,暗许值是 MYSQL_BOTH

array mysql_fetch_array ( resource $result [, int $ result_type ] )

$result = mysql_query("SELECT * FROM books");$array = mysql_fetch_array($result);//Array ( [0] => 1 [id] => 1 [1] => PHP [bookname] => PHP [2] => 电子工业出版社 [publisher] => 电子工业出版社 [3] => 张三 [author] => 张三 [4] => 80.00 [price] => 80.00 [5] => 0 [ptime] => 0 [6] => [pic] => [7] => PHP相关 [detail] => PHP相关 )print_r($array);$array = mysql_fetch_array($result);// Array ( [0] => 3 [id] => 3 [1] => JSP [bookname] => JSP [2] => 电子工业出版社 [publisher] => 电子工业出版社 [3] => 王五 [author] => 王五 [4] => 70.00 [price] => 70.00 [5] => 0 [ptime] => 0 [6] => [pic] => [7] => JSP相关 [detail] => JSP相关 )print_r($array);

mysql_fetch_object()

  mysql_fetch_object()函数从结果集中取得一行作为指标

object mysql_fetch_object ( resource $result )

$result = mysql_query("SELECT * FROM books");$object = mysql_fetch_object($result);//stdClass Object ( [id] => 1 [bookname] => PHP [publisher] => 电子工业出版社 [author] => 张三 [price] => 80.00 [ptime] => 0 [pic] => [detail] => PHP相关 )print_r($object);$object = mysql_fetch_object($result);//stdClass Object ( [id] => 3 [bookname] => JSP [publisher] => 电子工业出版社 [author] => 王五 [price] => 70.00 [ptime] => 0 [pic] => [detail] => JSP相关 )print_r($object);

  对于地方的几个函数来说,暗中认可指针都指向第贰行记录。在取得一行记录后,指针会自动下移。假如是最后一委,则函数再次回到false。一般地,mysql_fetch_assoc()那种重回关联数组情势的函数较常用

mysql_data_seek()

  mysql_data_seek()函数能够运动内部结果的指针

  [注意]$row_number从0开始

bool mysql_data_seek ( resource $result , int $row_number )

$result = mysql_query("SELECT * FROM books");$assoc = mysql_fetch_assoc($result);mysql_data_seek($result , 2);$assoc = mysql_fetch_assoc($result);Array ( [id] => 4 [bookname] => PHP [publisher] => 电子工业出版社 [author] => 小白 [price] => 80.00 [ptime] => 0 [pic] => [detail] => PHP相关 )print_r($assoc);mysql_data_seek($result , 0);$assoc = mysql_fetch_assoc($result);//Array ( [id] => 1 [bookname] => PHP [publisher] => 电子工业出版社 [author] => 张三 [price] => 80.00 [ptime] => 0 [pic] => [detail] => PHP相关 )print_r($assoc);

  上边选择while循环和mysql_fetch_assoc()函数将结果集以表格的款型显得出来

<style>.table{    border:1px solid black;    border-collapse:collapse;    table-layout:fixed;}</style>$result = mysql_query("SELECT id,bookname,publisher,author,price FROM books");echo '<table border="1" width="800" >';echo '<tr>';echo '<th>编号</th>';echo '<th>书名</th>';echo '<th>出版社</th>';echo '<th>作者</th>';echo '<th>价格</th>';echo '</tr>';while($assoc = mysql_fetch_assoc($result)) {    echo '<tr>';    echo "<td>{$assoc['id']}</td>";    echo "<td>{$assoc['bookname']}</td>";    echo "<td>{$assoc['publisher']}</td>";    echo "<td>{$assoc['author']}</td>";    echo "<td>{$assoc['price']}</td>";    echo '</tr>';}echo '</table>';

882828九五至尊手机版 16

mysql_free_result()

  mysql_free_result()函数用于释放结果内部存款和储蓄器

bool mysql_free_result ( resource $result )

  mysql_free_result()
仅供给在设想到重返很大的结果集时会占据多少内部存款和储蓄器时调用。在本子结束后具有涉嫌的内部存款和储蓄器都会被自动释放

关门数据库连接

mysql_close()

  mysql_close()函数用于关闭 MySQL 连接

bool mysql_close ([ resource $link_identifier = NULL ] )

  mysql_close() 关闭钦定的连年标识所涉及的到 MySQL
服务器的非持久连接。要是没有点名
link_identifier,则关闭上2个打开的一连

  所以,1个相比完好的php操作数据库扩充函数的主次如下所示

<?php
//连接数据库
$link = mysql_connect('localhost','root','******');
if(!$link){
    die('连接失败:'.mysql_error());
}
//选择数据库
mysql_select_db('bookstore',$link) or die('不能选定数据库bookstore:' .mysql_error());

//执行SQL命令
$insert = "insert into books(bookname, publisher, author, price, detail) values
('PHP','电子工业出版社','张三','80.00','PHP相关'),
('ASP','电子工业出版社','李四','90.00','ASP相关'),
('JSP','电子工业出版社','王五','70.00','JSP相关')";
$result = mysql_query($insert);

//操作结果集
$result = mysql_query("SELECT id,bookname,publisher,author,price FROM books");
echo '<table border="1" width="800" class="table">';
echo '<tr>';
echo '<th>编号</th>';
echo '<th>书名</th>';
echo '<th>出版社</th>';
echo '<th>作者</th>';
echo '<th>价格</th>';
echo '</tr>';
while($assoc = mysql_fetch_assoc($result)) {
    echo '<tr>';
    echo "<td>{$assoc['id']}</td>";
    echo "<td>{$assoc['bookname']}</td>";
    echo "<td>{$assoc['publisher']}</td>";
    echo "<td>{$assoc['author']}</td>";
    echo "<td>{$assoc['price']}</td>";
    echo '</tr>';
}
echo '</table>';

//释放结果集
mysql_free_result($result);
//关闭数据库连接
mysql_close($link);
?>

关门数据库连接

mysql_close()

  mysql_close()函数用于关闭 MySQL 连接

bool mysql_close ([ resource $link_identifier = NULL ] )

  mysql_close() 关闭钦赐的连年标识所提到的到 MySQL
服务器的非持久连接。借使没有点名
link_identifier,则关闭上2个开拓的连天

  所以,二个相比较完好的php操作数据库扩充函数的程序如下所示

<?php//连接数据库$link = mysql_connect('localhost','root','******');if(!$link){    die('连接失败:'.mysql_error;}//选择数据库mysql_select_db('bookstore',$link) or die('不能选定数据库bookstore:' .mysql_error;//执行SQL命令$insert = "insert into books(bookname, publisher, author, price, detail) values('PHP','电子工业出版社','张三','80.00','PHP相关'),('ASP','电子工业出版社','李四','90.00','ASP相关'),('JSP','电子工业出版社','王五','70.00','JSP相关')";$result = mysql_query($insert);//操作结果集$result = mysql_query("SELECT id,bookname,publisher,author,price FROM books");echo '<table border="1" width="800" >';echo '<tr>';echo '<th>编号</th>';echo '<th>书名</th>';echo '<th>出版社</th>';echo '<th>作者</th>';echo '<th>价格</th>';echo '</tr>';while($assoc = mysql_fetch_assoc($result)) {    echo '<tr>';    echo "<td>{$assoc['id']}</td>";    echo "<td>{$assoc['bookname']}</td>";    echo "<td>{$assoc['publisher']}</td>";    echo "<td>{$assoc['author']}</td>";    echo "<td>{$assoc['price']}</td>";    echo '</tr>';}echo '</table>';//释放结果集mysql_free_result($result);//关闭数据库连接mysql_close($link);?>

Your Comments

近期评论

    功能


    网站地图xml地图