PHP的MySQL操作

来源:互联网 发布:网络有前景的项目 编辑:程序博客网 时间:2024/05/20 05:10

  • 连接MySQL服务器
      • 建立数据库连接函数
      • 检测数据库是否安装
      • 选择操作数据库
      • 选择当前连接编码
      • 关闭数据库
      • 打印上一个错误函数
  • 数据库语句说明只说明变量项其它均为语句
      • 1insert into username valuesabc给数据库插入数据
      • 2select name from user配合mysql_query就是可以从指定数据库返回该字段下的所有数据
      • update user set namegt where id1修改数据库中的某一项的值
      • delete from user where name guotao删除数据库中含有指定字段值的一条数据
      • limit语句limit语句一般用在前面那些语句的后面其功能就是为了指定范围例如上面说的删除假如有很多条数据的name都是guotao那么都会被删除但是我们只想删掉第一条那么就应该写delete from user where name guotao limit 1
      • like语句like语句可以用来在数据库中搜索数据例如用你好搜索到你好世界
  • 数据插入
  • 数据删除
  • 数据查询
  • 数据修改
  • 4个fetch函数用来获取和显示数据
      • mysql_fetch_rowparam1param1param2
      • mysql_fetch_arrayparam1param1param2
      • mysql_fetch_assocparam1param1param2
      • mysql_fetch_objectparam1
  • 一些PHP的MySQL的内置函数
      • mysql_num_rowsparam1
      • mysql_resultparam1param1param2param3
      • mysql_affected_rowsparam1

连接MySQL服务器

建立数据库连接函数

    param1:数据库地址    param2:数据库用户名    param3:数据库密码,新的数据库密码为空    $con = mysql_connect(param1,param2,param3)    返回值:连接成功返回mysql连接标识符,否则返回false.

检测数据库是否安装

    function_exists('mysql_connect')    返回值:返回true表明安装,否则没安装.

选择操作数据库

    在连接成功数据库后,在选择一个用来操作的数据库    param1:用来操作的数据库的名称    mysql_select_db(param1);//选择操作数据库函数    返回值:选择成功返回true,否则返回false.

选择当前连接编码

    mysql_query("set names utf8");//里面的utf-8就是编码。

关闭数据库

    $con:连接数据库时返回的标识符。    mysql_close($con);

打印上一个错误函数

    mysql_error();

数据库语句说明(只说明变量项,其它均为语句)

1、insert into user(name) values(“abc”):给数据库插入数据

    1.user是表名    2.name是表中的字段(可以用,连接多个字段来同时插入数据例如insert into test(name,age,sex) values("abc",13,'男'))    3.abc是要插入的值

2、select name from user:配合mysql_query就是可以从指定数据库返回该字段下的所有数据

    1.name代表的是字段名,可以用*代表所有字段,当然也可以指定字段,例如你的数据库结构是 user(name,age,sex),当你只想查询name的时候就写select name from user,当你只想查询name和age的时候就写select name,age from user(用,连接起来)。    2.user代表的是表名

3.update user set name=’gt’ where id=1:修改数据库中的某一项的值

    1.user代表的是表名    2.name代表的是字段名     3.id=1代表了在一个字段为1的行里,修改name为'gt',id其实就是一个查找值,你得告诉数据库是哪一行,所以你跟他说这一行的id等于1,如果id等于1你就去修改这一行的name

4.delete from user where name = ‘guotao’:删除数据库中含有指定字段值的一条数据

    1.user代表的是表名    2.name代表的是字段名     3.guotao代表的指定的字段的值    如果要删除整个表的数据可以用    delete from user 

5.limit语句:limit语句一般用在前面那些语句的后面,其功能就是为了指定范围,例如上面说的删除,假如有很多条数据的name都是guotao那么都会被删除,但是我们只想删掉第一条,那么就应该写delete from user where name = ‘guotao’ limit 1.

6.like语句:like语句可以用来在数据库中搜索数据(例如用‘你好’搜索到‘你好世界’)

            假如我们要删第2条到第3条,那么应该写delete from user where name = 'guotao' limit 2,3            如果还不懂,用select来说明就是对于            select * from table limit m,n            其中m是指记录开始的index,从1开始,表示第一条记录            n是指从第m+1条开始,取n条。            select * from tablename limit 3,6            即取出第3条至第6条,4条记录

数据插入

mysql_query('insert into test(name) values("abc")');  //abc即是要插入的值例如:mysql_query("insert into user(name, age, class) values('李四', 18, '高三一班')"); //这里是一次插入多值返回值:插入成功返回true,否则返回false

数据删除

mysql_query("delete from user where name = 'guotao'") //删除name='guotao'的所有行,如果只想删一行就在最后写limt 1

数据查询

在数据库建立连接以后就可以进行查询,采用mysql_query加sql语句的形式向数据库发送查询指令。例如:从 "Persons" 表中选取所有 FirstName='Peter' 的行
<?php$con = mysql_connect("localhost","peter","abc123");if (!$con)  {  die('Could not connect: ' . mysql_error());  }mysql_select_db("my_db", $con);$result = mysql_query("SELECT * FROM PersonsWHERE FirstName='Peter'");while($row = mysql_fetch_array($result))  {  echo $row['FirstName'] . " " . $row['LastName'];  echo "<br />";  }?>

数据修改

mysql_query("update user set name='gt' where phoneNumber=1234567") //表明修改name字段为gt这一行的phoneNumber的值为1234567 

4个fetch函数(用来获取和显示数据)

mysql_fetch_row(param1,param2);

param1:使用mysql_query()执行select语句返回的资源句柄param2:这是一个可选参数默认值是MYSQL_NUM,用来控制该函数的返回值类型,他的取值可以有MYSQL_ASSOC(关联数组,只函键值的数组)、MYSQL_NUM(数字数组、只函数字索引的数组)、MYSQL_BOTH(默认,即函数字又函键值的索引)    说明:这个函数就类似一个迭代器,每次只取出资源句柄(资源句柄里可能有很多条数据)里的一条数据(不含键值,用下面的mysql_fetch_array()函数含键值),当所有数据都取出后返回false;例如查询一个表中的所有内容
<?php    header("Content-type: text/html; charset=utf-8");    $con = mysql_connect("localhost", "root", "123456") or die("数据库连接失败");    mysql_select_db("test") or die("数据库选择失败");    mysql_query("set names utf-8");    $res = mysql_query('select * from user') or die("查询数据失败");//返回资源句柄        while($row = mysql_fetch_row($res)){//查询结果            print_r($row);//打印数组            echo '<br/>';        }        echo '执行完毕';    ?>
输出结果Array ( [0] => guotao [1] => 18984495856 )Array ( [0] => ?? [1] => 18984495856 )执行完毕

mysql_fetch_array(param1,param2)

param1:使用mysql_query()执行select语句返回的资源句柄param2:这是一个可选参数默认值是MYSQL_BOTH,用来控制该函数的返回值类型,他的取值可以有MYSQL_ASSOC(关联数组,只函键值的数组)、MYSQL_NUM(数字数组、只函数字索引的数组)、MYSQL_BOTH(默认,即函数字又函键值的索引)    说明:这个速度比mysql_fetch_array慢,但是取得的数据含可以含有键值,和mysql_fetch_row一样每次只取一条数据。   
<?php    header("Content-type: text/html; charset=utf-8");    $con = mysql_connect("localhost", "root", "123456") or die("数据库连接失败");    mysql_select_db("test") or die("数据库选择失败");    mysql_query("set names utf-8");    $res = mysql_query('select * from user') or die("查询数据失败");//返回资源句柄        while($row = mysql_fetch_array($res)){//查询结果            print_r($row);//打印数组            echo '<br/>';        }        echo '执行完毕';    ?>
输出结果Array ( [0] => guotao [name] => guotao [1] => 18984495856 [phoneNumber] => 12345678 [2] => 123456 [password] => 123456 )Array ( [0] => ?? [name] => ?? [1] => 18984495856 [phoneNumber] => 12345678 [2] => 123456 [password] => 123456 )执行完毕

mysql_fetch_assoc(param1,param2)

    说明:其实和上面两个函数一样,只是他第二个参数的默认值是MYSQL_ASSOC.

mysql_fetch_object($param1)

param1:使用mysql_query()执行select语句返回的资源句柄    说明:每次取一条数据,并把这条数据变成对象,这条数据的每一个字段变成这个对象的属性。
<?php    header("Content-type: text/html; charset=utf-8");    $con = mysql_connect("localhost", "root", "cs123456") or die("数据库连接失败");    mysql_select_db("zj_project") or die("数据库选择失败");    mysql_query("set names utf8");    $res = mysql_query('select name,phoneNumber from user') or die("查询数据失败");//返回资源句柄        while($row = mysql_fetch_object($res)){//查询结果            print_r($row);            echo '<br/>';        }        echo '执行完毕';    ?>
输出结果stdClass Object ( [name] => guotao [phoneNumber] => 18984495856 )stdClass Object ( [name] => ?? [phoneNumber] => 18984495856 )执行完毕

一些PHP的MySQL的内置函数

mysql_num_rows($param1)

$param1:使用mysql_query()执行select语句返回的资源句柄    说明:可以返回资源句柄所含的数据数量。

mysql_result(param1,param2,$param3)

param1:使用mysql_query()执行select语句返回的资源句柄param2:行号param3:字段名(也可以用0,1,2……索引代替)    说明:可以返回数据库中指定位置的数据

mysql_affected_rows($param1)

param1:连接标识符 就是mysql_connect()函数返回的连接标识符    说明:返回上一次操作被修改的数据条数。
原创粉丝点击