①数据库与php连接 图表
header("content-type:text/html;charset=utf-8");
//第一种方式:
//1,生成连接,连接到数据库上的服务器
// localhost:主机位置,如果是网络上的要写Ip地址
// root:服务器管理员 ”123“ 密码
@$test=mysql_connect("localhost","root","123");
//2,选择数据库
mysql_select_db("test3",$test);
//3,写SQL语句
$sql="select * from student";//查询方式
//$sql="delete from student where Sno='101'";
//如果是增删改如上 返回的是个布尔值成功显示的是1
//4,执行SQL语句
$result=mysql_query($sql);
//5,提取数据 fetch_row 逐条提取每一行
while($array=mysql_fetch_row($result))
{
print_r($array);
}
//第二种方式 面向对象的方式
//1,生成连接对象
//$db=new mysqli("服务器名","用户名","密码","数据库");
$db=new mysqli("localhost","root","123","test3");
//2,判断是否连接成功
!mysqli_connect_error() or die ("连接失败!");
//相当于{echo "连接失败!"; exit;//直接退出程序}
//3,写sql语句
$sql="select * from student";
//4,执行sql语句
$result=$db->query($sql);
//5,操作结果
$row=$result->fetch_row(); print_r($row);//取一条 用while循环 遍历
//①用fetch_row();
while ($row=$result->fetch_row()) {
print_r($row);
echo "<br>";
}
显示:
接上例代码
1 //②用fetch_all();
$arra=$result->fetch_all();//一次返回所有的数据,以二维数组形式返回
print_r($arra);
显示:
接上上例代码
1 //③fetch_assoc();以关联数组的形式返回
while($array=$result->fetch_assoc()){
print_r($array);
echo "<br>";
}
显示:
②增删改时判断(布尔型)
//1,生成连接对象
//$db=new mysqli("服务器名","用户名","密码","数据库");
$db=new mysqli("localhost","root","123","test2");
//2,判断是否连接成功
!mysqli_connect_error() or die ("连接失败!");
//相当于{echo "连接失败!"; exit;//直接退出程序}
//3,写sql语句
$sql="delete from nation where Code='n001'";
//4,执行sql语句
$result=$db->query($sql);
if ($result) {
echo "增删改成功";
}
else{
echo "增删改失败";
}
//1,生成连接对象
//$db=new mysqli("服务器名","用户名","密码","数据库");
$db=new mysqli("localhost","root","123","test2");
//2,判断是否连接成功
!mysqli_connect_error() or die ("连接失败!");
//相当于{echo "连接失败!"; exit;//直接退出程序}
//3,写sql语句
$sql="insert into nation values('n001','汉族')";
// //4,执行sql语句
$result=$db->query($sql);
if ($result) {
echo "增删改成功";
}
else{
echo "增删改失败";
}
③表与表之间的联动
制表
<?php
header("content-type:text/html;charset=utf-8");
//1,建立连接
$db=new mysqli("localhost","root","123","test2");
//2,判断是否有问题
!mysqli_connect_error() or die("连接失败!");
//3,写Sql语句
$sql="select * from info";
//4,执行Sql语句
$result=$db->query($sql);
//5,操作输出结果
//$row=$result->fetch_row();//单独输出一条
//显示
echo"<table width=100% border=1 cellspacing='0' cellpadding='0'>";
echo "<tr><td>代号</td><td>姓名</td><td>性别</td><td>民族</td><td>生日</td></tr>";
while($row=$result->fetch_row()){//循环输出
//$sex=$row[2]?"男":"女"; echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$sex</td><td>$row[3]</td><td>$row[4]</td></tr>";
} echo"</table>" ?>
显示:
$sex=$row[2]?"男":"女"; 通过三位运算符转换
表与表之间的联动①全式
<?php
header("content-type:text/html;charset=utf-8");
//1,建立连接
$db=new mysqli("localhost","root","123","test2");
//2,判断是否有问题
!mysqli_connect_error() or die("连接失败!");
//3,写Sql语句
$sql="select * from info";
//4,执行Sql语句
$result=$db->query($sql);
//5,操作输出结果
//$row=$result->fetch_row();//单独输出一条
//显示
echo"<table width=100% border=1 cellspacing='0' cellpadding='0'>";
echo "<tr><td>代号</td><td>姓名</td><td>性别</td><td>民族</td><td>生日</td></tr>";
while($row=$result->fetch_row()){//循环输出
$sex=$row[2]?"男":"女";
$minzu=ShowNation($row[3]);
echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$sex</td><td>$minzu</td><td>$row[4]</td></tr>";
} echo"</table>"; function ShowNation($Code)
{
//1,建立连接
$db=new mysqli("localhost","root","123","test2");
//2,判断是否有问题
!mysqli_connect_error() or die("连接失败!");
//3,写Sql语句
$sql="select Name from nation where Code='$Code'";
//4,执行Sql语句
$result=$db->query($sql);
//5,处理显示
$getrow=$result->fetch_row();
return $getrow[0];
} ?>
表与表之间的联动②省略式
<?php
header("content-type:text/html;charset=utf-8");
//1,建立连接
$db=new mysqli("localhost","root","123","test2");
//2,判断是否有问题
!mysqli_connect_error() or die("连接失败!");
//3,写Sql语句
$sql="select * from info";
//4,执行Sql语句
$result=$db->query($sql);
//5,操作输出结果
//$row=$result->fetch_row();//单独输出一条
//显示
echo"<table width=100% border=1 cellspacing='0' cellpadding='0'>";
echo "<tr><td>代号</td><td>姓名</td><td>性别</td><td>民族</td><td>生日</td></tr>";
while($row=$result->fetch_row()){//循环输出
$sex=$row[2]?"男":"女";
$minzu=ShowNation($db,$row[3]); //注销方法ShowNation下的前两步链接和确认 把参数$db加入 传值
echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$sex</td><td>$minzu</td><td>$row[4]</td></tr>";
} echo"</table>"; function ShowNation($db,$Code) //注销下面的前两步连接和确认 把参数$db加入 接受传值 连接少了开销小了 提高效率
{
//1,建立连接
// $db=new mysqli("localhost","root","123","test2");
// //2,判断是否有问题
// !mysqli_connect_error() or die("连接失败!");
//3,写Sql语句
$sql="select Name from nation where Code='$Code'";
//4,执行Sql语句
$result=$db->query($sql);
//5,处理显示
$getrow=$result->fetch_row();
return $getrow[0];
} ?>
效果一样:
④下拉菜单
<select>
<?php
header("content-type:text/html;charset=utf-8");
//造链接对象
$db=new mysqli("localhost","root","123","test2");
//判断是否出错
!mysqli_connect_error()or die("连接失败!");
//写sql语句
$sql="select * from nation";
//执行sql语句
$result=$db->query($sql);
//处理数据并显示
$array=$result->fetch_all();
for($i=0;$i<count($array);$i++)
{
list($Code,$Name)=$array[$i];
echo "<option value='$Code'>$Name</option>";
}
?>
</select>
显示:
⑤登陆 三个页面 登陆 处理 主页
//test7denglu.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="test7chulilogin.php" method="post"> <div>
用户名:
<input type="text" name="uid"/>
</div>
<div>
密   码:
<input type="text" name="pwd"/>
</div>
<div> <input type="submit" name="登录"/>
</div> </form>
</body>
</html>
//test7chulilogin.php
<?php
$uid=$_POST["uid"];
//POST必须大写否则传值不成功
$pwd=$_POST["pwd"]; //造连接对象
$db=new mysqli("localhost","root","123","test2");
//判断是否连接成功
!mysqli_connect_error() or die("连接失败!");
//写sql语句
$sql="select count(*) from login where UserName='$uid'and Password='$pwd'";
//执行sql语句
$result=$db->query($sql);
$ar=$result->fetch_row(); if ($ar[0]==1)
{
header("location:test7main.php");
}
else
{
header("location:test7denglu.php");
} ?>
//test7main.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
登陆成功!
</body>
</html>
显示:
输入错误跳回登陆页 test7denglu.php
输入正确跳到test7main.php页 显示:登陆成功