I am using fgetcsv() to load a converted Excel spreadsheet into a MySQL mailing list table. My problem is that a large number of the records contain apostrophes and fgetcsv() appears to fail on them. Here is my code (the database connection is taken care of earlier):
<?
$row = 1;
$fp = fopen ("./Stakeholders.csv","r");
while ($data = fgetcsv ($fp, 1000, ",")) {
$num = count ($data);
$values="";
print $values;
print "<p> $num fields in line $row: <br>";
$row++;
for ($c=0; $c<$num; $c++) {
$values=$values . "'" . $data[$c] . "'";
if ($c != $num-1)
$values=$values.",";
}
print $values;
$sql="INSERT INTO maillist (
firstname, lastname, position, company, division, address1, address2, city, province, postal, phone1, phone2, email
)
VALUES(" . $values . ");";
$result = mysql_query($sql);
if (!$result) {
print "Error here.";
}
}
fclose ($fp);
?>