十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
亲,你的想法有问题,这是不符合要求的。
成都创新互联-专业网站定制、快速模板网站建设、高性价比象山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式象山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖象山地区。费用合理售后完善,十载实体公司更值得信赖。
数据库中有很多的表,表中有字段。因此你不可能查询数据库中的id和news,而是只能在特定的表上查询。同时sql语法也要求
select
fields
from
table_name而不是db_name哦。
举例来说,保存新闻的表名字是news,
位于数据库
my_test_db中,那么应该
$con = mysql_connect("127.0.0.1", "123", "123");
mysql_select_db('my_test_db', $con);
$sql = "select id, news from news";后面的代码就一样了
原生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.com' where uid=3");
if($num){
echo '更新 ',$num,' 条记录。';
}else{
echo '无记录更新';
}
}
如果查询比较复杂或一些特殊的数据操作不能通过 ThinkPHP 内置的 ORM 和 ActiveRecord 模式实现时,就可以通过直接使用原生 SQL 查询来实现。
注意:以上都是 user 没有表前缀的例子,在查询语句中,查询的表应该写实际的表名字(包括前缀)。
(我把你表格中的数据 "中文" 换成了 "英文" 数据和你的是一致的)
我创建你的表格的SQL语句:
create table cellphone
( id int(3) zerofill not null auto_increment primary key,
title char(20) not null,
number int not null,
type char(20) not null,
time date not null
);
插入数据的SQL语句:
insert into cellphone (title,number,type,time) values
("Phone Model 1",90,"cellphone","2012-08-14"),
("Phone Model 1",90,"cellphone","2012-08-14"),
("Phone Model 2",100,"cellphone","2012-08-14"),
("Mobile Accessory 1",100,"Accessory","2012-08-14");
查询语句:
select title, sum(number), time
from cellphone
where type = 'cellphone'
and time= date_format(now(),'%Y-%m-%d') //获取今天日期的函数
group by title;
创建后的表:
查询结果:
php 实现代码:
?php
/************************ MySQL连接 ************************/
$dbc = @ mysqli_connect('localhost', 'root', 'mysql', 'test');
if (mysqli_connect_errno()) {
echo "Error: Could not connect to database.Please try again later.";
exit;
}
/************************************************************/
/********************************** 执行查询 **********************************/
$query = "select title, sum(number), time
from cellphone
where type = 'cellphone'
and time= date_format(now(),'%Y-%m-%d')
group by title";
$results = mysqli_query($dbc, $query);
if ($results) {
echo mysqli_affected_rows($dbc)." rows get.br/";
} else {
echo "An error has occurred.";
}
/***********************************************************************************/
/********************************** 输出结果 **********************************/
while ( list($title, $num, $time) = mysqli_fetch_row($results) ) {
echo "$title $num $timebr/";
}
/******************************************************************************/
/********************************* 关闭和释放 *********************************/
mysqli_free_result($results);
mysqli_close($dbc);
/******************************************************************************/
?
运行结果:
?php
$host_name="localhost"; //服务器名
$host_user="root"; //连接服务器的用户名
$host_pass="123456"; //连接服务器的密码
$db_name=""; //服务器上的可用数据库
$my_conn=mysql_connect($host_name,$host_user,$host_pass); //连接服务器
mysql_select_db($db_name,$my_conn); //选择操作的数据库
mysql_query("SET NAMES utf-s"); //设置编码
$sql="select content from sheet where id=0 "//mysql语句
//从sheet表中查询id=0的content的值
$row = mysql_fetch_array(mysql_query($sql,$my_conn));//从mysql返回的结果中提取一 //行
?
这是一段典型的使用php连接mysql并查询数据的代码