PHP查詢到的數據存放到數組里面,一般使用$arr[]=$row的方式實現,$row是mysql_fetch_array獲得的一行數據,本身是一個數組,執行上面的語句之后,這一行會添加存放在額為數組$arr的最后。
成都創新互聯網站建設公司,提供成都網站設計、成都網站建設,網頁設計,建網站,PHP網站建設等專業做網站服務;可快速的進行網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,是專業的做網站團隊,希望更多企業前來合作!
典型的例子代碼是這樣的:
mysql_connect('127.0.0.1',?'root',?'123456');
$sql='select?*?from?test.tab';
if?($res=mysql_query($sql)){
while($row=mysql_fetch_array($res))?$result[]=$row;
mysql_free_resule($res);
}else?echo?"執行SQL語句:$sqlbr\n錯誤:".mysql_error();
echo?'查詢結果在下面的額為數組里面:pre';
print_r($result);
echo?'/pre';
1、登錄sql?server?managment管理工具,找一個表。
2、假如要按照時間倒著排序。
3、直接在order?by?后面加desc。
4、然后結果就按照時間倒著排了。
5、不輸入desc的話就是正著排。
6、可以看到結果按照時間正著排了。
不行,兩個是完全不同的結構
如果硬把數組,比如{1,2,3,4,5}存入數據庫
唯一的方法是把"1,2,3,4,5"當作varchar存進去。
所以只能遍歷這個數組然后分別吧1,2,3,4,5存進去。
當然,java框架也許會提供類似的方法,你傳一個數組進去,他直接就抱存入數據庫。但是內部也一定是拆開存的。
008. 數據庫的數據查詢
本節課我們來了解一下數據庫的數據查詢方式,單數據、數據集和其它查詢。
一.單數據查詢
1. Db::table()中table必須指定完整數據表(包括前綴);
2. 如果希望只查詢一條數據,可以使用find()方法,需指定where條件;
Db::table('tp_user')-where('id', 27)-find()
3. Db::getLastSql()方法,可以得到最近一條SQL查詢的原生語句;
SELECT * FROM `tp_user` LIMIT 1
4. 沒有查詢到任何值,則返回null;
5. 使用findOrFail()方法同樣可以查詢一條數據,在沒有數據時拋出一個異常;
Db::table('tp_user')-where('id', 1)-findOrFail()
6. 使用findOrEmpty()方法也可以查詢一條數據,但在沒有數據時返回一個空數組;
7. Db::table('tp_user')-where('id', 1)-findOrEmpty();
二.數據集查詢
1. 想要獲取多列數據,可以使用select()方法;
Db::table('tp_user')-select(); SELECT * FROM `tp_user`
2. 多列數據在查詢不到任何數據時返回空數組,使用selectOrFail()拋出異常; Db::table('tp_user')-where('id', 1)-selectOrFail();
3. 在select()方法后再使用toArray()方法,可以將數據集對象轉化為數組;
4. 當在數據庫配置文件中設置了前綴,那么我們可以使用name()方法忽略前綴; Db::name('user')-select();
三.其它查詢
1. 通過value()方法,可以查詢指定字段的值(單個),沒有數據返回null;
Db::name('user')-where('id', 27)-value('username');
$user = Db::table('tp_user')-select()-toArray(); dump($user);
2. 通過colunm()方法,可以查詢指定列的值(多個),沒有數據返回空數組; Db::name('user')-column('username');
3. 可以指定id作為列值的索引;
4. 如果處理的數據量巨大,成百上千那種,一次性讀取有可能會導致內存開銷過大;
5. 為了避免內存處理太多數據出錯,可以使用chunk()方法分批處理數據;
6. 比如,每次只處理100條,處理完畢后,再讀取100條繼續處理;
7. 可以利用游標查詢功能,可以大幅度減少海量數據的內存開銷,它利用了PHP生成器特性。每次查詢只讀一行,然后再讀取時,自動定位到下一行繼續讀取;
Db::name('user')-column('username', 'id');
Db::table('tp_user')-chunk(3, function($users) { foreach ($users as $user) {
dump($user);
}
echo 1; });
$cursor = Db::table('tp_user')-cursor(); foreach($cursor as $user){
dump($user);
}
本文實例講述了php實現通用的從數據庫表讀取數據到數組的函數。分享給大家供大家參考。具體分析如下:
此函數不關心表結構,只需要指定表名、結構和查詢條件既可以對表進行通用查詢操作,非常實用。
function listmytablerows($table, $name, $field, $where, $textID) { / / Connect to the database and query execution connect (); $Sql = "select * from". $table. "". $where. "ORDER BY". $field; $Req = mysql_query($sql); $Res = mysql_num_rows($req); ? Select name = "?php echo $name; ?" id="?php echo $textID; ?" option value="" ____/ option ? Php / / We do a loop that will read the information for each record while ($data = mysql_fetch_array($res)) { / / We display the information from the current record ? Option value = "?php echo $data['id']; ?" ?php echo $data[$field]; ? / Option ? Php } ? / Select ? Php } ?
我也很就糾結這個問題,現在我是這樣做的
$res = mysqli_query ($sql, "select BCur from microvast where id between 1 and 50");
foreach($res as $x=$x_value) {
foreach($x_value as $k=$v) {
$data[] = $v;
}
這樣可以$data[]生成了‘BCur’一列的一個索引數組,但是執行效率不高,多列就要做多次查詢,期待更好的方法。
while ($row=mysqli_fetch_assoc($res)){
$id=$row["id"];
......
echo $id;
}
這個辦法只能打印出來
網站標題:php查詢數據庫后的數組 php數組存入數據庫
URL網址:http://vcdvsql.cn/article32/hehgsc.html
成都網站建設公司_創新互聯,為您提供網站制作、建站公司、網站維護、網站導航、商城網站、用戶體驗
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯