MySQL和SQL Server基本语句总结(三)

这一节主要总结一下在PHP中使用Mysql进行数据库的编程。

使用MYSQL:

常用函数

  1.mysql_connect(服务器名称,用户名,密码) //   判断连接  错误则使用 mysql_error 函数

  2.mysql_select_db() //选择数据库

  3.mysql_query() //执行语句 返回结果集 或者返回BOOL值

  4.对结果集的处理

    mysql_fetch_array// 取得结果集中的一行的数据  可以是数字 也可以是字段

    mysql_fetch_assoc  //数组 字段

    mysql_fetch_object //获取一行的对象 //用的较少 //但是是个趋势 转向面向对象

    mysql_fetch_row  //获取一行 数组保存  用的较多

    mysql_affected_rows // 影响的行数 用于判断

    mysql_free_result //释放结果集

    mysql_num_fields //取得字段的数目

    mysql_num_rows //取得行的数目

    mysql_close //关闭连接

  使用Mysqli:

    和上面差不多 不过所有的都被封装到一个类中

  1.实例化一个对象   new MySQLi(和上面一样,“数据库名称”);     ->connect_error 返回错误

  2.->select_db选择数据库  ///

  3.->query  //执行语句 这里还有批量执行多条语句 下面再说

  4.对结果集的处理

   ->fetch_row  ->fetch_array  ->fetch_assoc  ->fetch_object

   ->num_rows  ->field_count    ->free    ->close  //这些都和上面的函数一样 只不过被封装到类里面了

上面是一些常用的基础性的用法

下面来总结执行多条SQL 语句

先看代码

//执行插入操作

$mysqli=new MySQLi("localhost","root","87129291","xiaoyuan"); 
if ($mysqli->connect_error)
	 die($mysqli->connect_error);
$mysqli->query("set names gbk");
$sqls="insert into prifession values(5,'信息');";  //这里注意最后写上分号
$sqls.="insert into prifession values(6,'机械')";  
if (!$mysqli->multi_query($sqls))
	    die("插入失败");

 //执行获取结果集操作

 $mysqli=new MySQLi("localhost","root","87129291","xiaoyuan"); 
if ($mysqli->connect_error) die($mysqli->connect_error); $mysqli->query("set names gbk"); $sqls="select *from prifession;"; $sqls.="select *from yuanxi;";
if ($res=$mysqli->multi_query($sqls)) //执行多条语句 返回是BOOL值 { do { $rus=$mysqli->store_result(); // 获取到一个结果集 while($row=$rus->fetch_row()) { var_dump($row); echo "<br/>"; } echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<br/>"; $rus->free(); //释放结果集 if (!$mysqli->more_results()) //判断是否还有 break; }while($mysqli->next_result()); //获取到下一个结果集 }

 下面总结事务处理

 代码

 

$mysqli->autocommit(false); //关闭自动提交
$sql1="update prifession set id=id+2 where id=5"; $sql2="update prifession1 set id=id+2 where id=6"; $d1=$mysqli->query($sql1); $d2=$mysqli->query($sql2); if (!$d1||!$d2) // 判断 是否错误 $mysqli->rollback(); //执行回滚操作 else $mysqli->commit(); //执行提交操作

下面总结预编译

预编译其实就是给数据库(服务器)提供一个模板 接下来的操作就不需要再进行编译 直接获取数据 这样可以很快的获取到或者添加等数据库里面大量的数据 (新手,用的不多)

代码

 1.

         $sql="insert into prifession values(?,?)"; //这里问号是下面要增加的数据
	 $mysqli_stmt=$mysqli->prepare($sql); //准备操作
	 $id=80;
         $name="the yesterday"; 
//绑定 i 整型 d double类型 s 字符串类型 $mysqli_stmt->bind_param("is",$id,$name); $b=$mysqli_stmt->execute() or die("$mysqli_stmt->error"); //执行上面的语句 $id=9; $name="ppp"; $mysqli_stmt->bind_param("is",$id,$name); $b=$mysqli_stmt->execute() or die("$mysqli_stmt->error"); $id=10; $name="qqq"; $mysqli_stmt->bind_param("is",$id,$name); $b=$mysqli_stmt->execute() or die("$mysqli_stmt->error"); $mysqli_stmt->close(); //关闭预编译指令 注意 这里一定要关闭预编译 否则后面的处理还是这套模板 会产生错误

 2.

  $sql="select name from prifession where id>?";
  $mysqli_stmt=$mysqli->prepare($sql);
  $id=10;
  $mysqli_stmt->bind_param("i",$id);
  $mysqli_stmt->bind_result($name); //增加了绑定结果集
  $mysqli_stmt->execute();
  while($mysqli_stmt->fetch()) // 获取结果到上面的变量中
      echo "$name<br/>";
  $id=1;
  $mysqli_stmt->bind_param("i",$id);
  $mysqli_stmt->execute();
  while($mysqli_stmt->fetch())
       echo "$name<br/>";
  $mysqli_stmt->free_result(); //释放结果集
  $mysqli_stmt->close(); //关闭预编译指令

 

上面是PHP中数据库的常用操作,下面我会总结C++中的使用方法。

   

  

   

 

 

 

posted @ 2013-12-13 13:26  the yesterday  阅读(342)  评论(0编辑  收藏  举报