thinkphp中查詢資料庫where中的條件必須包含主鍵

2021-04-14 05:40:21 字數 2917 閱讀 9363

1樓:匿名使用者

樓主可以看下

baitp的資料庫操作類

$catemodel->where('pid=%d',$_get['id'])->select(); 這樣寫du sql的zhi操作語dao句是這樣的

select *from catemodel where 'pid' = ***;(貌似有出入,具體的忘了內,你也可容以dump一下);

如果$_get的東西不規範可能就查詢不到,建議使用如下方式

$catemodel->where("'pid'='".$_get['id']."'")->select();

$data['pid'] = $_get['id']; $list = $catemodel->where($data)->select();

2樓:匿名使用者

不用的哈,用來什麼php框架,就要多看

自這個框架的手冊。

就如此題來說,你傳遞過來的id值,就是表的主鍵。

pid一般是為父鍵的意思,$catemodel->where('pid=%d',$_get['id'])->select();

查詢的是這個id所對應子集的。

樓上所說這種,有點曲解樓主的意思。樓主的意思,估計就是子集沒資料的緣故。

3樓:匿名使用者

不需要先說一個基本的sql語句:select field from table join table2 in table2.fieldx match tabe.

fieldy where field match value and/or field2 match value2 order by order_field desc

在tp中,首先通過d或者m函式,獲得一個table的對

應類如$user

然後,定內義你容想要的欄位 $query = $user->field(array)

然後,定義where條件 $query->where(條件陣列)

然後,定義額外的內容,如排序,$query->order(排序條件陣列),如表關聯$query->join(關聯條件陣列)

最後,執行查詢操作,$query->select()

另外,對於已知主鍵的查詢,tp中可以使用find函式,如$user->find(1),查詢主鍵為1的user。當然前提是表的預設主鍵符合tp規定,一般是id,可以通過在model中將$primary(好像是這個屬性)設定為表中的主鍵來更改預設值

4樓:匿名使用者

thinkphp中的where不需要包含主鍵,查詢過程跟普通查詢中的where一樣的。

5樓:匿名使用者

主鍵查詢 更快,其他也可以進行查詢,資料量大可以加索引改善,主要還看sql和資料庫表結構的建立

6樓:匿名使用者

不需要一定是主鍵的,可以是任意一個表中的欄位組成陣列或者字串 可以把你的**貼出來我看看

7樓:_九難

不用,where可以不寫,也可以直接在括號裡面打一個1

8樓:以它石攻玉

不用,字串,陣列都行,陣列最好

thinkphp 中mysql where($where)查詢的問題 10

9樓:山水阿銳

|您好,使用快捷查詢

加入$map['_logic'] = 'or';

或$map['id|receiverid'] = array(session('uid'),array('in', implode(",",$idset)),'_multi'=>true);

以上方法等效。

當且與或並存時可以用專複合查詢,如以下多了一屬個name

$map['receiverid'] = session('uid');

$map['id'] = array('in', implode(",",$idset));

$map['_logic'] = 'or';

$where['name'] = 'abc';

$where['_complex'] = $map;

m('message') -> where($where)->select();

將生成:

where (`receiverid` = 1 or `id` in ('13','12','10','9')) and `name`='abc'。

thinkphp 中where條件怎麼使用or

10樓:匿名使用者

你可以直接這樣寫:

d('tablename')->where("a=1 or b=2")->select();

d('tablename')->where("a=1 and b=2")->select();

thinkphp where有多個條件進行復合查詢,關係為or,**如下

11樓:匿名使用者

請參考thinkphp開發手冊的查詢語言一節,可以有不同寫法,我這裡寫一種供你參考:

$where1=array(

'key'=>array('like','zt'.'%'),'code'=>'02'

);$where=array(

'modes'=>1,

'key'=>array('like','tm'.'%'),'code'=>'02',

'_complex'=>$where1, // 複合查詢'_logic'=>'or'       // 關係為or);// 查詢語句

$mysql=m('mysql')->where($where)->select();

thinkphp如何查詢資料庫某一表中有多少條資料

其實我感覺你這個邏輯沒問題,有點問題,我是這麼認為的,應該是這樣 idzhi rand 0,表中資料條數 data data id 我不明白你這裡是什麼意思 arr m where data idzhi limit 8 select 不過我總感覺上面的有問題 idzhi rand 0,表中資料條數 ...

oracle資料庫中leftjoin後where的使用方法

可以這樣理解 on是在生成連線表時起作用的,where是生成連線表之後對連線表再進行過濾。1 on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄。2 where條件是在臨時表生成好後,再對臨時表進行過濾的條件。這時已經沒有left join的含義 必須返回左邊表的...

怎樣實現access資料庫中的查詢

1.選擇 建立 中的 其他 中的 查詢設計 2.此時彈出一個對話方塊,選中要查詢的表,然後 新增 3.此時注意到最下方的那個視窗。裡面就是指定查詢條件以及要返回的資訊的。4.欄位 這一項就是要選擇要返回的資訊項。這裡我全部選擇了。5.表 這一項就是要選擇要查詢的表。6.排序 這一項就是要選擇顯示資訊...