0
我有一個php頁面,它接收一個csv文件並將其上傳到我的數據庫。我遇到的問題是某些字段有'$',我不需要。有沒有辦法只從部分字段中刪除$?
數據結構
COLL_ID COCC_ID AGEDTOTAL PAYMENTTOTAL
5074 11110 $7.50 ($7.50)
我查詢
$deleterecords = "TRUNCATE TABLE mytable"; //empty the table of its current records
mysql_query($deleterecords);
//Upload File
if (isset($_POST['submit'])) {
$i=0;
if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "</h1>";
echo "<h2>Displaying contents:</h2>";
readfile($_FILES['filename']['tmp_name']);
}
//Import uploaded file to Database
$handle = fopen($_FILES['filename']['tmp_name'], "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if ($i>0){
$import="INSERT into mytable(COLL_ID, COCC_ID, AGEDTOTAL, PAYMENTTOTAL) values('$data[0]','$data[1]','$data[2]','$data[3]')";
mysql_query($import) or die(mysql_error());
}
$i++;
}
嘗試使用'strpos()'結合'str_replace()'也許?在插入數據庫之前,您可能需要將'$ data'數組的內容讀取到各個變量中。 – Maximus2012
除了使用MySQLi或PDO和預處理語句/綁定變量而不是舊的,不推薦使用的MySQL接口的勸告之外......你不能簡單地使用'str_replace(['$','','',$ field )'或'ltrim($ field,'$')'在數組的那些元素上? –
我使用這個,而不是ltrim('$ data [2]','$'),但得到的錯誤:調用本地函數'ltrim'中的錯誤參數計數 – user2168066