重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
008. 数据库的数据查询
创新互联建站从2013年开始,先为凉山州等服务建站,凉山州等地企业,进行企业商务咨询服务。为凉山州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
本节课我们来了解一下数据库的数据查询方式,单数据、数据集和其它查询。
一.单数据查询
1. Db::table()中table必须指定完整数据表(包括前缀);
2. 如果希望只查询一条数据,可以使用find()方法,需指定where条件;
Db::table('tp_user')-where('id', 27)-find()
3. Db::getLastSql()方法,可以得到最近一条SQL查询的原生语句;
SELECT * FROM `tp_user` LIMIT 1
4. 没有查询到任何值,则返回null;
5. 使用findOrFail()方法同样可以查询一条数据,在没有数据时抛出一个异常;
Db::table('tp_user')-where('id', 1)-findOrFail()
6. 使用findOrEmpty()方法也可以查询一条数据,但在没有数据时返回一个空数组;
7. Db::table('tp_user')-where('id', 1)-findOrEmpty();
二.数据集查询
1. 想要获取多列数据,可以使用select()方法;
Db::table('tp_user')-select(); SELECT * FROM `tp_user`
2. 多列数据在查询不到任何数据时返回空数组,使用selectOrFail()抛出异常; Db::table('tp_user')-where('id', 1)-selectOrFail();
3. 在select()方法后再使用toArray()方法,可以将数据集对象转化为数组;
4. 当在数据库配置文件中设置了前缀,那么我们可以使用name()方法忽略前缀; Db::name('user')-select();
三.其它查询
1. 通过value()方法,可以查询指定字段的值(单个),没有数据返回null;
Db::name('user')-where('id', 27)-value('username');
$user = Db::table('tp_user')-select()-toArray(); dump($user);
2. 通过colunm()方法,可以查询指定列的值(多个),没有数据返回空数组; Db::name('user')-column('username');
3. 可以指定id作为列值的索引;
4. 如果处理的数据量巨大,成百上千那种,一次性读取有可能会导致内存开销过大;
5. 为了避免内存处理太多数据出错,可以使用chunk()方法分批处理数据;
6. 比如,每次只处理100条,处理完毕后,再读取100条继续处理;
7. 可以利用游标查询功能,可以大幅度减少海量数据的内存开销,它利用了PHP生成器特性。每次查询只读一行,然后再读取时,自动定位到下一行继续读取;
Db::name('user')-column('username', 'id');
Db::table('tp_user')-chunk(3, function($users) { foreach ($users as $user) {
dump($user);
}
echo 1; });
$cursor = Db::table('tp_user')-cursor(); foreach($cursor as $user){
dump($user);
}
我直接在这给你修改答案算了
使用的时候删除行号
修改数据库配置
如果想使用
页面不刷新查询数据库
需要使用JQUERY
如果有需要给我留言
1
?php
2
if(isset($_POST['submit'])$_POST['submit']=='提交'){
3
//判断是否是提交过来的
4
$intext
=
$_POST['intext'];
5
if($intext!=null||$intext!=''){
6
$link
=
mysql_connect("localhost",
"root",
"123456");
7
//数据库配置信息
第一个参数数据库位置第二个是用户名第三个是密码
8
mysql_select_db("szn_test");
9
//设置要使用的数据库
10
$sql
=
"select
*
from
demo
where
res
=
'".$intext."'";
11
//SQL语句
12
var_dump($sql);
13
$res
=
mysql_query($sql);
14
$arr
=
array();
15
//吧结果存入数组
并记录数组长度
16
$count
=
0;
17
while($data
=
mysql_fetch_array($res)){
18
$arr[$count]
=
$data;
19
$count++;
20
}
21
//关闭数据库
22
mysql_close($link);
23
}
24
}
25
26
?
27
html
28
head
29
title/title
30
/head
31
body
32
form
id="form1"
method="post"
action="demo.php"
33
input
type="text"
name="intext"
34
input
type="submit"
name="submit"
value="提交"
35
/form
36
?php
37
if(isset($arr)$arr
!=
null){
38
for($i
=
0;
$i
$count;
$i++){
39
foreach($arr[$i]
as
$key
=
$value){
40
echo
"key:".$key."
value:".$value;
41
echo
"
";
42
}
43
echo
"br";
44
}
45
}
46
?
47
/body
48
/html
这个是数据库查询代码
你可以看以下对照着修改修改
代码如下:?View
Code
PHP
include("conn.php");//调用数据库连接文件
echo
"table
width=572
height=56
border=0
cellspacing=1
";
//创建html表格
echo
"tr
bgcolor=#9999FF";
echo
"th
width=33
scope=colid/th";
echo
"th
width=100
scope=coluser_name/th
";
echo
"th
width=100
scope=coluser_pass/th
";
echo
"th
width=100
scope=colstaus/th";
echo
"th
width=100
scope=colinsert_time/th";
echo
"/tr";
$SQL
=
"select
*
from
user_info";
$query
=
mysql_query($SQL);
//SQL查询语句
while
($row
=
mysql_fetch_array($query)){
//使用while循环mysql_fetch_array()并将数据返回数组
echo
"tr
onmouseout=this.style.backgroundColor=''
onMouseOver=this.style.backgroundColor='#99CC33'
bgcolor=#CCCCCC";
echo
"td$row[0]/td";
//输出数组中数据
echo
"td$row[1]/td";
echo
"td$row[2]/td";
echo
"td$row[3]/td";
echo
"td$row[4]/td";
echo
"/tr";
}
echo
"/table";输出记录截图