Undefined offset meldingen
//////////////////////////////////////////////////////////////////////////
//database connect info here
mysql_connect('localhost','root','pswoord') or die(mysql_error());
mysql_select_db('ipsola') or die(mysql_error());
//check for file upload
if(isset($_FILES['csv_file']) && is_uploaded_file($_FILES['csv_file']['tmp_name'])){
//upload directory
$upload_dir = "csv_dir/";
//create file name
$file_path = $upload_dir . $_FILES['csv_file']['name'];
//move uploaded file to upload dir
if (!move_uploaded_file($_FILES['csv_file']['tmp_name'], $file_path)) {
//error moving upload file
echo "Error moving file upload";
}
//open the csv file for reading
$handle = fopen($file_path, 'r');
//turn off autocommit and delete the product table
mysql_query("SET AUTOCOMMIT=0");
mysql_query("BEGIN");
mysql_query("TRUNCATE TABLE properties") or die(mysql_error());
//gaat het hier mis? Waarom??????
while (($data = fgetcsv($handle, 1000, ',')) !== FALSE) {
//Access field data in $data array ex.
$name = $data[0];
$quantity = $data[1];
//Use data to insert into db
$sql = sprintf("INSERT INTO properties (property_id, user_id) VALUES ('%s',%d)",
mysql_real_escape_string($name), $quantity
);
mysql_query($sql) or (mysql_query("ROLLBACK") and die(mysql_error() . " - $sql"));
}
//commit the data to the database
mysql_query("COMMIT");
mysql_query("SET AUTOCOMMIT=1");
//delete csv file
unlink($file_path);
}
///////////////////////////////////////////////////////////////////////////
De onderstaande errors verschijnen:
Notice: Undefined offset: 1 in K:\xampp\htdocs\ipsola\beheer\import_csv.php on line 44
Notice: Undefined offset: 1 in K:\xampp\htdocs\ipsola\beheer\import_csv.php on line 44
Notice: Undefined offset: 1 in K:\xampp\htdocs\ipsola\beheer\import_csv.php on line 44
Warning: unlink(csv_dir/properties_export-0.csv) [function.unlink]: Permission denied in K:\xampp\htdocs\ipsola\beheer\import_csv.php on line 58
De fout bij lijn 44 is vanwege die while lus, maar ik kom er niet uit om die waarden daar goed te krijgen :(
Er word op forums geadviseert om ISSIT te gebruiken maar die paktie niet bij mij.
zie ook http://www.phphulp.nl/php/forum/topic/error-undefined-offset-3/76472/last/
De fout bij de unlink kan ik ook niet echt plaatsen.
Het formulier waar deze mee word verzonden verstuurd volgens het enctype="multipart/form-data"
M<aar als ik die weghaal dan komt er ook geen data in de database + het bestand zal ook niet worden geupload....pfff ik word....:)
Weet iemand misschien een oplossing? via php.net kom ik er ook niet uit :(
$quantity = $data[1];
Dat betekend dat het veld 'quantity' op de betreffende regel leeg is. In die while kan niet want er word daar geen offset opgehaald.
De unlink error betekend dat Apache/PHP geen mutatie rechten heeft op de directorty: csv_dir of het bestand properties_export-0.csv