//方式一: 用函数的方式访问 (已过时,了解即可)1.造一个连接(建立通道)$db=mysql_connect("localhost","root","123");//参数为服务器地址,用户名,密码2.选择要操作哪一个数据库mysql_select_db("mydb");3.写SQL语句$sql="select * from Info";4.执行SQL语句$result = mysql_query($sql); //返回结果集5.从结果集中读取数据$row =mysql _fetch_row($result); //取第一条数据var_dump($row);//取所有数据while($row=mysql_fetch_row()){ var_dump($row);}//方式二:面向对象的方式 *****非常重要,必须熟练*****
1.造一个连接对象$db = new MySQLi("localhost","root","123","mydb");//参数为服务器地址,用户名,密码,数据库名2.判断是否出错方法1:if(mysqli_connect_error()){ exit("连接失败!"); //退出程序,并输出"连接失败!"} //若出错则直接退出整个程序,所以不用写else方法2:!mysqli_connect_error() or die("连接失败!");3.写SQL语句$sql = "select * from Info";4.执行SQL语句,查询语句若执行成功则返回结果集对象,若失败则返回false$result = $db->query($sql);5.从结果集中读取数据 //读取数据方式不同,取值方式也不同if($result) //判断$result是true还是false,若不判断,当$result为false时会报错{ var_dump($result->fetch_row()); //返回一行数据的数组(索引数组) while($row=$result->fetch_row()) //取所有数据 { var_dump($row); } var_dump($result->fetch_assoc()); //返回一行数据(关联数组) var_dump($result->fetch_all()); //返回所有数据(二维数组) var_dump($result->fetch_object()); //返回一行数据(对象)}若SQL语句为:$sql = "select count(*) from Info";$result = $db->query($sql); //结果集为一个整型值if($result){ //用fetch_all()读取: $shuju = $result->fetch_all(); //返回只有一个数的二维数组,这个数存储在二维数组的第一行第一列,即$shuju[0][0] echo $shuju[0][0]; //用fetch_row()读取: $shuju = $result->fetch_row(); //返回只有一个数的一维数组 echo $shuju[0];}//若SQL语句为增,删,改,则不用读取数据,只需判断是否执行成功,如果执行成功执行什么操作,如果执行失败,执行什么操作.例如:$sql = "insert into Info values('p001','','','','')";$result= $db->query($sql);var_dump($result); //若执行成功返回true,若执行失败返回false
练习:
1. 将Nation表以下拉列表的形式显示在网页上
$db=new MySQLi("localhost","root","123","mydb");!mysqli_connect_error() or die("连接失败!");$sql="select * from Nation";$result=$db->query($sql);if($result){$a=$result->fetch_all();echo "";}
2. 将Info表以表格的形式显示在网页上
$db=new MySQLi("localhost","root","123","mydb");!mysqli_connect_error() or die("连接失败!");$sql = "select * from Info";$r = $db->query($sql);if($r){$attr = $r->fetch_all();echo "
代码 | 姓名 | 性别 | 民族 | 生日 |
{ $v[0]} | { $v[1]} | { $v[2]} | { $v[3]} | { $v[4]} |
//将性别与民族显示出来:性别对应$v[2],民族对应$v[3].处理性别:$sex=$v[2]?"男":"女";将表格中$v[2]换为$sex处理民族名称:$sqln="select Name from Nation where Code='{ $v[3]}'";$result=$db->query($sqln);$attrn=$result->fetch_assoc(); //关联数组将表格中$v[3]换为$attrn['Name']
foreach($attr as $v) { //处理性别 $sex=$v[2]?"男":"女"; //处理民族名称 $sqln="select Name from Nation where Code='{ $v[3]}'"; $rnation = $db->query($sqln); $attrn = $rnation->fetch_assoc(); echo " { $v[0]} { $v[1]} { $sex} { $attrn['Name']} { $v[4]} "; }