Так что я немного из моей глубины здесь (один раз) и нужно удалить апостроф из набора данных CSV при ввозе его в моей базе данных ...удалить 'апостроф из PHP CSV Импорт
Код I есть на данный момент звучит так
<?php
include "connection.php"; //Connect to Database
$deleterecords = "TRUNCATE TABLE riders_long"; //empty the table of its current records
mysql_query($deleterecords);
//Upload File
if (isset($_POST['submit'])) {
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) {
$import="INSERT into riders_long(Onlineentry,SaleID,FirstName,LastName,ClubTeamName,DOB,IsBCMember,MemberNo,Agreetermsandconditions,Agreeemailconfirmation,Agreeemailmarketing,LicenceCategory,Gender,Email,Daytimephone,Address1,Address2,TownCity,Region,Country,Postcode,EmergencyContactName,EmergencyContactPhoneNumber,DatePaid,AmountPaid,RefundAmount,PaymentType,Status) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]','$data[11]','$data[12]','$data[13]','$data[14]','$data[15]','$data[16]','$data[17]','$data[18]','$data[19]','$data[20]','$data[21]','$data[22]','$data[23]','$data[24]','$data[25]','$data[26]','$data[27]')";
mysql_query($import) or die(mysql_error());
}
fclose($handle);
print "Import done";
//view upload form
}else {
print "Upload new csv by browsing to file and clicking on Upload<br />\n";
print "<form enctype='multipart/form-data' action='upload.php' method='post'>";
print "File name to import:<br />\n";
print "<input size='50' type='file' name='filename'><br />\n";
print "<input type='submit' name='submit' value='Upload'></form>";
}
?>
Если я честно, я даже не знаю, с чего начать с этого ...
Я полагаю, мне нужно использовать функцию str_replace()
... Что-то по линиям
$remove = array("'");
$filtered = str_replace($remove, "", "Hello World of PHP");
$filtered
бы тогда строки без «апостроф, но потом я немного запутался о том, как и где я бы лучше интегрировать эту
Советы о том, где бы начать действительно оценили
Конечно то, что вам действительно нужно сделать, это не удалить апостроф, это, чтобы избежать их, так что они не будут нарушать ваш SQL заявления Вставить –
Если серы ver разрешить его, вы можете импортировать файл напрямую, используя что-то в качестве ответа в http://stackoverflow.com/questions/11077801/import-csv-to-mysql-table/36586798, или вы можете использовать mysqli_ или PDO вместо устаревших mysql_ и использовать переменные bind. (Старый способ, используемый с типом запроса, который вы используете, заключается в использовании 'mysql_real_escape_string()' вокруг всех ваших полей ('mysql_real_escape_string ($ data [5])') – rypskar