php查询数据集,php 查询

怎样试用PHP原生语句查询数据库

原生SQL查询有 query() 和 execute() 两个方法:

龙泉驿ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

query():用于 SQL 查询操作,并返回符合查询条件的数据集

execute():更新和写入数据的 SQL 操作,返回影响的记录数

query()

query() 方法是用于 SQL 查询操作,和select()方法一样返回符合查询条件的数据集。

例子:

public function read(){

// 实例化一个空模型,没有对应任何数据表

$Dao = M();

//或者使用 $Dao = new Model();

$list = $Dao-query("select * from user where uid5");

if($list){

$this-assign('list', $list );

$this-display();

} else {

$this-error($Dao-getError());

}

}

对于 query() 方法返回的数据集,跟 select() 一样,可以在模板里直接循环输出。

execute()

execute() 方法用于更新和写入数据的 SQL 操作(注:非查询操作,无返回数据集),返回影响的记录数。

例子:

public function read(){

header("Content-Type:text/html; charset=utf-8");

// 实例化一个空模型,没有对应任何数据表

$Dao = M();

//或者使用 $Dao = new Model();

$num = $Dao-execute("update user set email = '12345@xxx.com' where uid=3");

if($num){

echo '更新 ',$num,' 条记录。';

}else{

echo '无记录更新';

}

}

如果查询比较复杂或一些特殊的数据操作不能通过 ThinkPHP 内置的 ORM 和 ActiveRecord 模式实现时,就可以通过直接使用原生 SQL 查询来实现。

注意:以上都是 user 没有表前缀的例子,在查询语句中,查询的表应该写实际的表名字(包括前缀)。

php pdo 怎么获取查询出来的结果集

php使用PDO抽象层获取查询结果,主要有三种方式:

(1)PDO::query()查询。

看下面这段php代码:

?php //PDO::query()查询

$res = $db-query('select * from user');

$res-setFetchMode(PDO::FETCH_NUM); //数字索引方式

while ($row = $res-fetch()){

print_r($row);

}

?

(2)PDO-exec()处理sql

?php //PDO-exec()处理sql

$db-setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$res = $db-exec("insert into user(id,name) values('','php点点通')");

echo $res;

?

(3)PDO::prepare()预处理执行查询

?php //PDO::prepare()预处理执行查询

$res = $db-prepare("select * from user");

$res-execute();

while ($row = $res-fetchAll()) {

print_r($row);

}

?

setAttribute() 方法是设置属性,常用参数如下:

PDO::CASE_LOWER -- 强制列名是小写

PDO::CASE_NATURAL -- 列名按照原始的方式

PDO::CASE_UPPER -- 强制列名为大写

setFetchMode方法来设置获取结果集的返回值的类型,常用参数如下:

PDO::FETCH_ASSOC -- 关联数组形式

PDO::FETCH_NUM -- 数字索引数组形式

PDO::FETCH_BOTH -- 两者数组形式都有,这是默认的

PDO::FETCH_OBJ -- 按照对象的形式,类似于以前的 mysql_fetch_object()

对上面总结如下:

查询操作主要是PDO::query()、PDO::exec()、PDO::prepare()。

PDO-query() — 处理一条SQL语句,并返回一个“PDOStatement”

PDO-exec() — 处理一条SQL语句,并返回所影响的条目数

PDO::prepare()主要是预处理操作,需要通过$rs-execute()来执行预处理里面的SQL语句

最后介绍两个常用的函数:

(1)fetchColumn()获取指定记录里一个字段结果,默认是第一个字段!

?php

$res = $db-query('select * from user');

//获取指定记录里第二个字段结果

$col = $res-fetchColumn(1);

echo $col;

?

(2)fetchAll(),从一个结果集中获取数据,然后存放在关联数组中

?php

$res = $db-query('select * from user');

$res_arr =$res-fetchAll();

print_r($res_arr);

?

php mysql怎么查询数据库

//1.连接数据库

$link = @mysql_connect('localhost','root','123456');

//2.判断是否连接成功

if(!$link) exit('数据库连接失败');

//3.选择数据库

mysql_select_db('mydatabase');

//4.设置字符集  utf8

mysql_set_charset('utf8');

//5.准备一个SQL语句

$sql = 'select * from user';

//6.发送SQL语句

$result = mysql_query($sql);

//7.判断并处理返回结果

if($result){

while($row = mysql_fetch_array($result)){

$list[] = $row;

}

echo "pre";

print_r($list);

echo "/pre";

}

//8.释放资源

mysql_free_result($result);   //查询操作才需要释放结果集

mysql_close();

php判断数据集

$vote_ip=$db-fetchAll($select); //获取数据集 假设你要对比的IP为存在IP列

$result=array_search("IP",array_column($vote_ip,'IP');) // 使用array_column获取数据集$vote_ip的IP列(转化为数组),并使用array_search()函数检索数组中是否有"IP",这里的IP替换为你的变量,多个变量再用for循环,至于输出你可以自己写,结果示例:

if(($result === NULL)){

echo "不存在这个IP";

}else{

echo "存在这个IP";//存在数值 0

}

PHP实现搜索查询功能的方法技巧

下面是首页显示数据表package中的内容,但是有个条件,显示在首页的内容还必须是 :字段status=0,且printing=0的数据才能在首页列表中显示出来。

页面上有一个“搜索”功能,输入条件后就会根据条件来进行查询。

一般的搜索的话,只要在首页显示列表方法index()中给一个:

?

$map=array();//初始化查询条件

$map=$this-_search();//调用查询方法

$total = $this-Model-where ($map)-count(); //这个主要是用来计算页面显示数据条数的

if ($total == 0) {

$_list = '';

} else {

$_list = $this-Model-where ($map)-limit( $post_data ['first'] . ',' . $post_data ['rows'] )-select();

}

然后,就是写一个_search():

protected function _search(){

$map = array ();

$post_data = I ( 'post.' );

if ($post_data ['packageid'] != '') {

$map ['packageid'] = array (

'like',

'%' . $post_data ['packageid'] . '%'

);

}

return $map;

}

最后,在设置的“搜索”菜单中,调用这个搜索方法。

但是,这个搜索的.同时,还要确保在字段status=0,且printing=0的数据中进行搜索。

这个限制条件该加在什么地方。各种尝试和查询后,才知道。限制条件直接加在SQL语句中就行了(如下红色的地方)。(我自己试的时候一直在如下蓝色的地方加条件,屡试屡败!)

$map=array();

$map=$this-_search();

$total = $this-Model-where ($map)-where(array('status' =0,'print_status'=0))-count();

if ($total == 0) {

$_list = '';

} else {

$_list = $this-Model-where ($map)-where(array('status' =0,'print_status'=0))-limit( $post_data ['first'] . ',' . $post_data ['rows'] )-select();

}

更多相关文章推荐:

php搜索查询数据库数据

查看一下代码:

?php

// 获取表单提交值

$student_id = intval(trim($_POST['student_id']));

// 页面表单  可以放单独的html文件中,如果放单独的html页面中 form 的action的地址要改成下面的PHP文件名

echo 'form action="" method="post"

input type="text" name="student_id" value="{$student_id}"/

input type="submit" name="submit" value="查询"/

/form';

// 当有数据提交时

if ($student_id)

{

$con= mysql_connect("localhost","root","111") or die("连接错误");

mysql_select_db("examination",$con);

// 查询

$sql = "SELECT * FROM tablename WHERE student_id = $student_id ";

$res=mysql_query($sql);

$row=mysql_fetch_array($res);

// 输出

echo '学号:'.$row['student_id'].'br姓名:'.$row['name'].'br性别:'.$row['gender'].'br分数:'.$row['score'];

}

?


本文题目:php查询数据集,php 查询
URL标题:http://hbruida.cn/article/phcdcd.html