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