A. php中如何更新大量的mysql數據
sql= "UPDATE mydata SET p1='".$pointarr[i][1]."' where ps like '%".$pointarr[i][
每次都去做一次like的全表掃描當然慢了。
建議使用批量更新,減少查詢次數。
比如先查詢出結果集,然後在內存里去操作欄位更新
最後採用 update ...... where id = xxx 這樣的更新方法。避免多次全表掃描。
不是最了解你的需求,僅供參考。
B. php資料庫添加、刪除、修改數據(mysql)
一、PHP操作MySql資料庫
新增數據
?php
$query
=
"INSERT
INTO
grade
(name,email,point,regdate)
VALUE
('
李三','[email protected]',,NOW())"
;
@mysql_query($query)
or
die(
'添加數據出錯:'
.mysql_error());
?
修改數據
?php
$query
=
"UPDATE
grade
SET
name='小可愛'
WHERE
id=6"
;
@mysql_query($query)
or
die(
'修改出錯:'
.mysql_error());
?
刪除數據
?php
$query
=
"DELETE
FROM
grade
WHERE
id=6";
@mysql_query($query)
or
die(
'刪除錯誤:'
.mysql_error());
?
顯示數據
?php
$query
=
"SELECT
id,name,email,point
FROM
grade";
$result
=
@mysql_query($query)
or
die(
'查詢語句出錯:'
.mysql_error());
while
(!!
$row
=
mysql_fetch_array($result))
{
echo
$row[
'id'
].
'----'
.$row['name'
].'----'
.$row
['email'
].
'----'
.$row['point'
];
echo
'<br
/
';
}
?>
二、其他常用函數
mysql_f
etch_row()
:從結果集中取得一行作為枚舉數組
mysql_f
etch_assoc()
:
從結果集中取得一行作為關聯數組
mysql_f
etch_array()
:
從結果集中取得一行作為關聯數組,或數字數組,或二者兼有
mysql_f
etch_lengths
()
:
取得結果集中每個輸出的長度
mysql_f
ield_name():
取得結果中指定欄位的欄位名
mysql_num_rows():
取得結果集中行的數目
mysql_num_f
ields():取得結果集中欄位的數目
mysql_get_client_inf
o()
:
取得
MySQL
客戶端信息
mysql_get_host_info():
取得
MySQL
主機信息
mysql_get_proto_info():
取得
MySQL
協議信息
mysql_get_server_inf
o()
:
取得
MySQL
伺服器信息
C. PHP如何格式化金錢數字
PHP格式化數字的函數是number_format
關於他的用法如下:
語法: string number_format(float number, int [decimals], string [dec_point], string [thousands_sep]);
返回值: 字元串
函數種類: 數學運算
內容說明
本函數用來將浮點參數 number 格式化。若沒加參數 decimals 則返回的字元串只要整數部份,加了此參數才依參數指定的小數點位數返回。參數 dec_point 表示小數點的表示方式方法,默認值是 ".",若需要轉換成其它的小數點就可以在這個參數改掉。參數 thousands_sep 為整數部份每三位的分隔符號,默認值是 ","。本函數最特別的地方就是參數數目,最少要有一個,也就是欲格式化的字元串;也可以有二個或者四個參數,但不能用三個參數。治募?注意的是指定小數點的位數之後的數字直接舍棄,沒有四捨五入的情形。
使用範例
<?
$short_pi = "3.14159";
$my_pi = number_format($short_pi, 2);
echo $my_pi."\n"; // 3.14
$foo = 850017.9021;
$new_foo = number_format($foo, 3, ".", " ");
echo $new_foo."\n"; // 850 017.902
?>
D. php怎麼按照積分排名 積分相同 排名也相同
假如積分欄位是point
積分從高到低排,
SELECT*FROM table ORDER BY point DESC