我想填充一個項目的數據庫。我已經安裝了Xampp,並且我正在使用phpmyadmin通過GUI訪問數據庫。數據庫有點大,包括評估給定問題的經濟選擇所需的經濟因素。 PHP代碼:通過PHP填充數據庫
function _fp($n,$i){
return number_format((pow((1+$i),$n)),5);
}
function _pf($n,$i){
return number_format((1/_fp($n,$i)),5);
}
function _pa($n,$i){
return number_format(((pow((1+$i),$n)-1)/($i*pow((1+$i),$n))),5);
}
function _ap($n,$i){
return number_format((1/_pa($n,$i)),5);
}
function _fa($n,$i){
return number_format(((pow((1+$i),$n)-1)/$i),5);
}
function _af($n,$i){
return number_format((1/_fa($n,$i)),5);
}
function _pg($n,$i){
return number_format(((pow((1+$i),$n)-$i*$n-1)/($i*$i*pow((1+$i),$n))),5);
}
function _ag($n,$i){
return number_format((1/$i-$n/(pow((1+$i),$n)-1)),5);
}
$connection=mysql_connect("localhost","root",'');
if($connection){
$db=mysql_select_db("comp_interest_fact");
if(!$db)
echo "Failed to select 'comp_interest_fact'.\n";
}
else
echo "Failed to connect to database.\n";
$percentage=array('0_25'=>.0025,
'0_5'=>.005,
'0_75'=>.0075,
'1'=>.01,
'1_25'=>.0125,
'1_5'=>.015,
'2'=>.02,
'3'=>.03,
'4'=>.04,
'5'=>.05,
'6'=>.06,
'7'=>.07,
'8'=>.08,
'9'=>.09,
'10'=>.1,
'11'=>.11,
'12'=>.12,
'13'=>.13,
'14'=>.14,
'15'=>.15,
'16'=>.16,
'18'=>.18,
'20'=>.20,
'22'=>.22,
'24'=>.24,
'25'=>.25,
'30'=>.3);
reset($percentage);
while(list($key,$value)=each($percentage)){
$table="percent_$key";
for($k=1;$k<=50;$k++){
$fp=_fp($k,$value);
$pf=_pf($k,$value);
$af=_af($k,$value);
$fa=_fa($k,$value);
$ap=_ap($k,$value);
$pa=_pa($k,$value);
$pg=_pg($k,$value);
$ag=_ag($k,$value);
mysql_query("INSERT INTO $table VALUES($k,".$fp.",".$pf.",".$af.",".$fa.",".$ap.",".$pa.",".$pg.",".$ag.")");
}
}
mysql_close($connection);
與該腳本的問題是,一旦我運行它,在comp_interest_fact表沒有所有50行。實際上他們應該這樣做,因爲for循環需要50次迭代和50次INSERT操作。我找不到問題。誰能幫我?
它給出了什麼錯誤?任何MySQL錯誤?你有錯誤報告嗎? –
縮進可以在這裏改進很多,這會讓你更容易閱讀。外部'reset/while/each'構造會更有意義,就像'foreach'聲明 - 這就是它的用途!考慮包裝你的SQL語句,所以你不必在你的編輯器中水平滾動。最後嘗試避免使用'mysql'函數,因爲它們已被棄用。 – halfer