PHP下操作MySql

来源:互联网 发布:卡斯特的复仇知乎 编辑:程序博客网 时间:2024/05/21 22:54

php与数据库建立连接

  • mysql_connect(“数据库主机名或IP”,”用户名”,”密码”);连接成功时:返回mysql**连接标识符**;连接失败时:返回false;

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

  1. mysql扩展:

    $link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');
  2. PDO扩展:

    $dsn = 'mysql:dbname=testdb;host=127.0.0.1';$user = 'dbuser';$password = 'dbpass';$dbh = new PDO($dsn, $user, $password);
    • 当连接成功以后,要选择一个操作的数据库,通过mysql_select_db函数来选择数据库。

      mysql_select_db(‘code1’);

    • 在连接之前通常会先设置一下当前连接使用的字符编码

      mysql_query(“set names ‘utf8’”);

关闭数据库连接

mysql_close(连接标识符);

操作数据库

执行一条数据库语句

//以插入为例mysql_query('insert into 表名(列名) values(值)');echo mysql_error();//用于输出执行语句的错误信息。

数据库查询

$res = mysql_query('select * from user limit 1');

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

$row = mysql_fetch_array($res);var_dump($row);

数据库插入

$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中,执行插入语句以后,可以得到自增的主键id,通过PHP的mysql_insert_id函数可以获取该id。

$uid = mysql_insert_id();

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

php内置的Mysql函数

获取和显示数据函数:


  • mysql_fetch_row(资源标识符);返回查询到的资源的第一条数据。每输出一次,结果集里的资源便少一条。返回的数组是一个一维索引数组,每一个下标与数据库里字段的排列对应。
  • mysql_fetch_array(资源标示符,关键字);

MYSQL_ASSOC 只产生关联数组

MYSQL_NUM 只产生索引数组

MYSQL_BOTH 默认状态

默认取一条数据产生一个索引数组和一个关联数组。

  • mysql_fetch_assoc(资源标识符)等价于mysql_fetch_array(资源标示符,MYSQL_ASSOC);
  • mysql_fetch_object(资源标识符);返回一个结果集的对象。
  • mysql_num_rows(资源标识符);返回结果集的行数。
  • mysql_result(资源标识符,行号,字段名称);返回结果集中一个字段的值。

    行号从0开始计算。
    第三个参数可以是字段名,也可以是偏移量。

  • mysql_affected_rows(连接标识符);返回前一次受Insert,updata,delete影响的记录的行数。
  • 0 0