這樣寫沒(méi)有問(wèn)題的,是不是你傳參數(shù)錯(cuò)了,輸出語(yǔ)句看看
創(chuàng)新互聯(lián)專注于余杭企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城開(kāi)發(fā)。余杭網(wǎng)站建設(shè)公司,為余杭等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
$sql="SELECT * FROM 表名字 WHERE 字段1=a and 字段2=b";
echo $sql;
mysql_query($sql,$con);
SELECT a.byear,a.bname,b.tname FROM data as a left join teacher on a.tid=b.tid where a.bname like '%xxxx%' and a.byear='xxxx' and b.tname like '%xxxx%'
你的condition 只是where條件而已
依舊可以用,只不過(guò),應(yīng)該把內(nèi)容中byear改成a.byear,tname 改成b.tname
SELECT a.*,b.tname FROM data as a left join teacher on a.tid=b.tid ".$condition." order by a.bid
可以添加一個(gè)并且條件,例如myid是xxx,那么SQL語(yǔ)句如下:
$sql = "select * from ... where (現(xiàn)在的所有條件在這里并在其外添加括號(hào)) AND myid!=xxx;"
php使用的數(shù)據(jù)庫(kù)一般是mysql,當(dāng)數(shù)據(jù)量大于1000萬(wàn)時(shí),為了效率最好還會(huì)進(jìn)行分表存儲(chǔ)。
這要看你應(yīng)用在什么場(chǎng)合了,如果只是單純的數(shù)據(jù)處理,不需要取出來(lái)使用的話,可以直接在數(shù)據(jù)庫(kù)里操作,比如建十張表,根據(jù)特征把1000萬(wàn)條數(shù)據(jù)插入到不同的表里。如insert into table_1 select * from table。
如果要取出來(lái)使用的話,建議寫執(zhí)行腳本,在數(shù)據(jù)庫(kù)空閑時(shí)(如零點(diǎn)之后)執(zhí)行該腳本,將處理的結(jié)果保存在另外一張表里,再?gòu)倪@張表里獲取想要的結(jié)果。
統(tǒng)計(jì)查詢
在應(yīng)用中我們經(jīng)常會(huì)用到一些統(tǒng)計(jì)數(shù)據(jù),例如當(dāng)前所有(或者滿足某些條件)的用戶數(shù)、所有用戶的最大積分、用戶的平均成績(jī)等等,ThinkPHP為這些統(tǒng)計(jì)操作提供了一系列的內(nèi)置方法,包括:
方法????????????說(shuō)明
Count ? ?
統(tǒng)計(jì)數(shù)量,參數(shù)是要統(tǒng)計(jì)的字段名(可選) ?
Max ? ?
獲取最大值,參數(shù)是要統(tǒng)計(jì)的字段名(必須) ?
Min ? ?
獲取最小值,參數(shù)是要統(tǒng)計(jì)的字段名(必須) ?
Avg ? ?
獲取平均值,參數(shù)是要統(tǒng)計(jì)的字段名(必須) ?
Sum ? ?
獲取總分,參數(shù)是要統(tǒng)計(jì)的字段名(必須) ?
用法示例:
獲取用戶的最大積分:
$maxScore?=?$User-max('score');
SELECT * FROM `表名` WHERE bookid=22
獲取BOOKID為22的記錄,輸出$uid=
if(strpos($uid,"2")!==false):echo"包含";else:echo"不包含";endif;
判斷UID中是否含有2
MYSQLI方法統(tǒng)計(jì)數(shù)量
$num=mysqli_num_rows(mysqli_query($mysqli,"SELECT id FROM `表名` where pinglun=1"));
統(tǒng)計(jì)該表中pinglun=1的記錄數(shù)量