重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个查到了三组数据,但是只能输出一组,原因很简单,是因为 $qstr 这是一个数组,你要想全部显示出来,需要循环才可以
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了南丹免费建站欢迎大家使用!
$goods = D('Goods');//实例化Model对象,实际操作Goods数据表
$info = $goods - select();//获得数据信息
print_r($info);//打印信息
通过for循环
$sql=mysql_query("select * from 表名 where name=张三“)
for($i=0;$imysql_num_rows($sql);$i++){
$result[$i] = mysql_fetch_assoc($sql);
}
临时写的,比较匆忙。可以自己看看。
mysql_num_rows是获取一同有多少条数据
mysql_fetch_assoc和mysql_fetch_array差不多,自己查
原生SQL查询有 query() 和 execute() 两个方法:
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点抗 ' where uid=3");
if($num){
echo '更新 ',$num,' 条记录。';
}else{
echo '无记录更新';
}
}
如果查询比较复杂或一些特殊的数据操作不能通过 ThinkPHP 内置的 ORM 和 ActiveRecord 模式实现时,就可以通过直接使用原生 SQL 查询来实现。
注意:以上都是 user 没有表前缀的例子,在查询语句中,查询的表应该写实际的表名字(包括前缀)。