PHP的MySQL操作

连接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 Persons
WHERE 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()函数返回的连接标识符
    说明:返回上一次操作被修改的数据条数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值