親,你的想法有問題,這是不符合要求的。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名申請、網頁空間、營銷軟件、網站建設、市北網站維護、網站推廣。
數據庫中有很多的表,表中有字段。因此你不可能查詢數據庫中的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";后面的代碼就一樣了
$count?=?mysql_num_rows(mysql_query('select?*?from?where?`用戶名`="張三"?or?where?`分數`="100"'));
if?($count??0){
//不記錄
}else{
//記錄
}
要不照片數據(也就是測試數據)那個就不要再存儲type,而是再加一個照片-類別對照表,結構為
照片id 類別id
1 2
1 4
1 5
2 1
2 3
3 1
3 3
這樣在查詢和刪除時都會簡單一些。 或者這樣,將type字段改為00000這種表示,每一位對應一個分類,屬于一個分類就置1,比如你現在5個分類,id為1的那張照片是2、4、5,那分類就是01011,計算出這個字符串后比如存入sl,那查詢的時候查找left(type,len(type))=sl的就行了,這個是考慮到以后分類可能擴充的問題,如果不考慮當然查type=sl就行了。這個效率偶不清楚,未做測試
PHP+Mysql多條件多值查詢示例代碼:
index.html代碼:
!DOCTYPE?html?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?"
html
head
meta?http-equiv="Content-Type"?content="text/html;?charset=UTF-8"
titleSQL多條件查詢示例/title
/head
body
form?method="post"?action="deal.php"
h1房屋出租/h1
房屋類型:select?name="type"
option?value="1"一居室/option
option?value="2"二居室/option
option?value="3"三居室/option
/selectbr/
面積:input?name="area"?type="text"/br/
地址:input?name="addr"?type="text"/br/
input?name="btn"?type="submit"?value="搜索"?/br/
/form
/body
/html
deal.php文件:
?php
//連接數據庫
$conn=mysql_connect("localhost","root","");
//選擇數據庫
$db=mysql_select_db("數據庫名");
//接收?參數
$type=$_POST['type'];
$area=$_POST['area'];
$addr=$_POST['addr'];
//SQL語句主題
$query="select?*?from?room??where?";?
//根據條件和傳的值拼接sql語句
//判斷面積不為空
if($type!=""){
//然后根據具體面積分情況拼接
switch($type){
case?1:
//一居室
$query.="?room_type=1";?
break;
case?2:
$query.="?room_type=2";
break;
case?3:
$query.="?room_type=3";
break;
}
}
//面積
if($area!=""){
$query.="?and?area?={$area}";
}
//地址
if($addr!=""){
$query.="?and?addr?like?'%{$addr}%'";?//地址
}
//執行查詢
$result=mysql_query($query);
//遍歷結果
echo?"搜搜結果如下:";
while($row=mysql_fetch_array($result)){
echo?"地址:".$row['addr'];
echo?"br/";
echo?"面積:".$row['area'];
echo?"br/";
echo?"居室:".$row['type'];
echo?"br/";
echo?"價格:".$row['addr'];
echo?"br/";
//等等
}
?
完整的代碼如下:
$con = mysql_connect('localhost(服務器地址)', '數據庫用戶名', '數據庫密碼');
//數據庫連接。
if (!$con)
{
die('Could not connect: ' . mysql_error());
}//連接失敗輸出錯誤
mysql_select_db('數據庫名', $con);
$sql = "select Name from 表名;";
$result = mysql_query($sql,$con);
while($row= mysql_fetch_array($result)){
echo $row['Name'];
}
thinkphp如何查詢數據庫?
數據庫查詢
ThinkPHP內置了非常靈活的查詢方法,可以快速的進行數據查詢操作。
查詢條件可以用于CURD等任何操作,作為where方法的參數傳入即可。
ThinkPHP可以支持直接使用字符串作為查詢條件,但是大多數情況推薦使用索引數組或者對象來作為查詢條件,因為會更加安全。
查詢方式
一、使用字符串作為查詢條件
這是最傳統的方式,但是安全性不高,例如:
1
2
$User = M("User"); // 實例化User對象
$User-where('type=1 AND status=1')-select();
最后生成的SQL語句是
1
SELECT * FROM think_user WHERE type=1 AND status=1
二、使用數組作為查詢條件
1
2
3
4
5
$User = M("User"); // 實例化User對象
$condition['name'] = 'thinkphp';
$condition['status'] = 1;
// 把查詢條件傳入查詢方法
$User-where($condition)-select();
最后生成的SQL語句是
1
SELECT * FROM think_user WHERE 'name'='thinkphp' AND status=1
如果進行多字段查詢,那么字段之間的默認邏輯關系是 邏輯與 AND,但是用下面的規則可以更改默認的邏輯判斷,通過使用 _logic 定義查詢邏輯:
1
2
3
4
5
6
$User = M("User"); // 實例化User對象
$condition['name'] = 'thinkphp';
$condition['account'] = 'thinkphp';
$condition['_logic'] = 'OR'; //定義查詢邏輯
// 把查詢條件傳入查詢方法
$User-where($condition)-select();
最后生成的SQL語句是
1
SELECT * FROM think_user WHERE 'name'='thinkphp' OR `account`='thinkphp'
三、使用對象方式來查詢 (這里以stdClass內置對象為例)
1
2
3
4
5
6
$User = M("User"); // 實例化User對象
// 定義查詢條件
$condition = new stdClass();
$condition-name = 'thinkphp';
$condition-status= 1;
$User-where($condition)-select();
最后生成的SQL語句和上面一樣
1
SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1
使用對象方式查詢和使用數組查詢的效果是相同的,并且是可以互換的,大多數情況下,我們建議采用數組方式更加高效,后面我們會以數組方式為例來講解具體的查詢語言用法。
表達式查詢
上面的查詢條件僅僅是一個簡單的相等判斷,可以使用查詢表達式支持更多的SQL查詢語法,并且可以用于數組或者對象方式的查詢(下面僅以數組方式為例說明),查詢表達式的使用格式:
1
$map['字段名'] = array('表達式','查詢條件');
表達式不分大小寫,支持的查詢表達式有下面幾種,分別表示的含義是:
1
2
3
4
$map['id']? = array('eq',100);? id = 100;
$map['id']? = array('egt',100);id = 100
$map['name'] = array('like','thinkphp%'); name like 'thinkphp%' 模糊查詢
$map['a'] =array('like',array('%thinkphp%','%tp'),'OR');$map['b'] =array('notlike',array('%thinkphp%','%tp'),'AND'); (a like '%thinkphp%' OR a like '%tp') AND (b not like '%thinkphp%' AND b not like '%tp')
本文來自ThinkPHP框架技術文章欄目:
以上就是thinkphp如何查詢數據庫的詳細內容,更多請關注php中文網其它相關文章!
                新聞名稱:php數據庫多字段查詢 php查詢語句
                
                標題URL:http://www.yijiale78.com/article2/doddgoc.html
            
成都網站建設公司_創新互聯,為您提供Google、搜索引擎優化、響應式網站、虛擬主機、品牌網站制作、企業建站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯