2017-05-20 182 views
0

我想限制用戶記錄顯示。基本上我正在開發一個用戶登錄並輸入(訂單,報價......)他的數據並提交給數據庫的CRM。所以當用戶登錄時,我只想顯示他輸入的記錄,而不是其他數據。爲此,我需要用戶的session ID,並將其存儲盈他的唱片,只顯示登錄用戶的記錄

雖然顯示我正在做這樣的

"SELECT * FROM orders WHERE user_id='".$_SESIION['userID']."'; 

但我要爲所有的顯示功能做到這一點「WHERE」。而不是那是否有任何其他方式我可以做到這一點我的意思是沒有重複的WHERE聲明?

請建議

+0

做一次查詢並保存會話中的所有數據,這樣就不需要每次查詢 – Exprator

+0

@Exprator:非常抱歉,我沒有找到你 – user3368088

+0

你說過你必須每次都查詢正確嗎?或者你是否可以稍微清楚你想要什麼 – Exprator

回答

1

你的問題:有沒有其他辦法可以做到這一點,我的意思是不重複WHEREstatement? 我的答案是:沒有!

幫助準備:https://www.w3schools.com/php/php_mysql_prepared_statements.asp

該數據庫可以是這樣的,例如:

表用戶

id_user email password etc. 

表文章

id_article title_article body_article id_user etc 

當您查詢

select * from article where id_users = ? 

使用prepere

insert into articles (............, id_user, ....) values (?, ?, ? etc) 

所有表,像這樣的文章,可以有場id_user,它會在表查詢輸入....,通過會議,並針對SQL注入prepere保護。而當用戶選擇任何東西時,他將只有他注入的東西。

+0

這就是我說的。每個表都有'user_id'。但要顯示'訂單',我應該查詢'選擇.......從訂單where user_id' for'quotes' again should user'where' ... 它會重複,我想最大限度地減少 – user3368088

+0

所有被最小化。多少個查詢=那麼多id_user。沒有問題。每個查詢你只編寫一個查詢,但查詢可以工作很多次。 – b2ok

+0

在每個查詢中只有一個WHERE clausula。你考慮一下查詢,多一個地方沒有問題。 – b2ok