2016/3/24 ①数据库与php连接 三种输出fetch_row()、fetch_all()、fetch_assoc() ②增删改时判断(布尔型) ③表与表之间的联动 ④下拉菜单 ⑤登陆 三个页面
①数据库与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页 显示:登陆成功


2016/3/24 ①数据库与php连接 三种输出fetch_row()、fetch_all()、fetch_assoc() ②增删改时判断(布尔型) ③表与表之间的联动 ④下拉菜单 ⑤登陆 三个页面的更多相关文章
- Html5+Css3制作下拉菜单的三种方式
一.渐变式改变ol的高度 1.外部为ul标签,在每个li里嵌套一个ol列表2.设置外部li左浮动,内部ol标签绝对定位,外部li标签相对定位3.设置ol的高为0,溢出隐藏4.外部li标签:hover ...
- 2016/4/5 Ajax ①用户名 密码 登陆 注册 ② 判断用户名是否已存在 ③点击按钮出现民族选项下拉菜单 ④DBDA类 加入Ajaxquery方法 数组变字符串 字符串拆分
①登陆 注册 查表匹配 0405Ajax.php ②判断用户名是否存在 <!DOCTYPE html> <html lang="en"> ...
- PHP 读取逐条数据库记录,以及提交下拉菜单选项
<?php $db_host=localhost; //MYSQL服务器名$db_user=root; //MYSQL用户名$db_pass="******"; //MYSQ ...
- 第一百三十二节,JavaScript,封装库--下拉菜单
JavaScript,封装库--下拉菜单 封装库,增加了3个方法 shu_biao_yi_ru_yi_chu()方法,给元素设置鼠标移入移出事件,接收两个参数,参数是移入和移出时的执行函数(包含代码) ...
- 24个 HTML5 & CSS3 下拉菜单效果及制作教程
下拉菜单是一个很常见的效果,在网站设计中被广泛使用.通过使用下拉菜单,设计者不仅可以在网站设计中营造出色的视觉吸引力,但也可以为网站提供了一个有效的导航方案.使用 HTML5 和 CSS3 可以更容易 ...
- 格式化输出的三种方式,运算符及流程控制之if判断
''' 格式化输出的三种方式,运算符及流程控制之if判断 ''' # 格式化输出的三种方式 # 一.占位符 程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式 比如要求用户输入用户名和年龄 ...
- js的三种输出语句,以及html的运行循序
js最常见的三种输出语句 1.console.log()这个语句是在浏览器控制台输出的.进入网页点击f12可查看 2.alert()弹出一个对话框, 3.document.write这个语句是在页面输 ...
- 2016/2/24 1,dotctype有几种? 2,了解html的发展历史
1,dotctype有几种?DOCTYPE是document type(文档类型)的简写,用来说明你用的XHTML或者HTML是什么版本. 其中的DTD(例如上例中的xhtml1-transition ...
- MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
随机推荐
- Go:单元测试
测试用的文件名必须以 _test.go 结尾: 测试用的函数名必须以 Test 开头,一般来说:Test+被测试的函数名(第一个字母必须大写): func TestXx(t *testing.T) { ...
- 【JavaEE-面试总结】(未完,待续···)
目录: 一.Java基础 二.JavaEE基础 三.JavaEE进阶 四.数据库 五.数据结构&算法 六.高级(服务器) 一.Java基础 1.1 面向对象(封装.继承.多态) 访问权限修饰符 ...
- 【MySQL】性能优化之 Index Condition Pushdown
一 概念介绍 Index Condition Pushdown (ICP)是MySQL 5.6 版本中的新特性,是一种在存储引擎层使用索引过滤数据的一种优化方式.a 当关闭ICP时,index ...
- 一个抓取智联招聘数据并存入表格的python爬虫
talk is cheap...show you the code..... import requests import lxml,time,os from bs4 import Beautiful ...
- 洛谷P1757 通天之分组背包
题目背景 直达通天路·小A历险记第二篇 题目描述 自01背包问世之后,小A对此深感兴趣.一天,小A去远游,却发现他的背包不同于01背包,他的物品大致可分为k组,每组中的物品相互冲突,现在,他想知道最大 ...
- Java调用K3Cloud的密码加密算法实现登录密码检验
背景: 最近要开始做K3Cloud移动,BOS平台的移动单据收费,就想单独做移动模块,搭建环境:后台SSH2,前端Android.在手机端登录时通过Ajax方式传递用户名和密码到后台校验,后台在去K3 ...
- jQuery的对象访问函数(get,index,size,each)
1.get() 元素集合 取得所有匹配的 DOM 元素集合. 这是取得所有匹配元素的一种向后兼容的方式(不同于jQuery对象,而实际上是元素数组). 如果你想要直接操作 DOM 对象而不是 jQue ...
- 一致性哈希算法-----> 解决memecache 服务器扩容后的数据丢失。
1 基本场景 比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 ...
- 石家庄地铁查询PSP0级
一.需求 :地铁(石家庄地铁)线路查询 二. 学生:洪鼎淇 合作对象:宋子健 时间记录日志: 日期 开始时间 结束时间 中断时间 净时间 活动 2019/3/30 10:00 14:0 ...
- topcoder srm 551
div1 250pt 题意:一个长度最多50的字符串,每次操作可以交换相邻的两个字符,问,经过最多MaxSwaps次交换之后,最多能让多少个相同的字符连起来 解法:对于每种字符,枚举一个“集结点”,让 ...