I have a problem with a piece of code I wrote to import some records from a csv file into mysql. I have a .csv file with about 300 records in it. The code worked perfect while testing on 3 or 4 records. When I tried to import the entire list I ran into problems where there were gaps of records that had no data.
I tested some of the records that were being missed thinking that it was a charachter in the record making sql choke, but when I did blocks of 5 or 10 of the bad records they worked. This is the error message:
Warning: array_combine() [function.array-combine]: Both parameters should have an equal number of elements in
At some point the insert starts inserting records again and then it hits another block of errors. I am thinking this has to do with some kind of memory limit but the csv file is only 66kb.
Any ideas?
Here is the code
Code: [Select]$handle = fopen($_FILES['filename']['tmp_name'], "r");
if ($handle)
{
set_time_limit(0);
//the top line is the field names
$fields = fgetcsv($handle, 4096, ',');
//loop through one row at a time
while (($data = fgetcsv($handle, 4096, ',')) !== FALSE)
{
$data = array_combine($fields, $data);
// Create a Joomla Password and insert the un-encrypted and encryted+salt value into array
$password = generatePassword($length=9, $strength=4);
$data[password] = $password ;
require_once 'libraries/joomla/user/helper.php'; //Use Joomla function in order to salt the password and encrypt
$salt = JUserHelper::genRandomPassword(32);
$crypt = JUserHelper::getCryptedPassword($password, $salt);
$md5password = $crypt . ':' . $salt;
$data[md5password] = $md5password;
// Insert Customer info into jos_user table
$jos_users = sprintf("INSERT into jos_users_test(name,username,email,password,usertype,sendEmail,gid,registerDate) values('%s','%s','%s','%s','%s','%d','%d',NOW())",
sql_prep($data[Contact], $db),
sql_prep($data[Customer], $db),
$data[Email],
$data[md5password],
'Registered',
'1',
'18');
mysql_query($jos_users) or die(mysql_error());
Here is the output of the array, you can tell [15] doesn't have any of the data that [14]and all the rest have. Then it will pick up at some point and a bunch will have data and then it will choke again.
[14] => Array
(
[Customer] => XXXXXXXXX
[Contact] =>
[Phone] => XXXXXXXXXXXX
[Fax] =>
[Alt. Phone] =>
[Alt. Contact] =>
=> [email]tXXXXXX@yahoo.com
[Bill to 1] => XXXXX
[Bill to 2] => XXXXXXXXX
[Bill to 3] => XXXXXXXX
[Bill to 4] =>
[Bill to 5] =>
[Ship to 1] => XXXXXXX
[Ship to 2] => XXXXXXXXX
[Ship to 3] => XXXXXXXX
[Ship to 4] =>
[Ship to 5] =>
[password] => password
[md5password] => 461543387f04a4848d38a6d6fd7376cc:0GHs3PRXbdsqbeghoiZnKxJeudwAYtv3
)
[15] => Array
(
[password] => password
[md5password] => d2db7721b7df8f151ef342a3a72aa32d:bwGLFCJnCdDTjDZH2b5kqfIL5QJ3z42h
)
)
Entering Data Problem
Code: $result = mysql_query("SELECT * FROM flights");while ($row = mysql_fetch_array($result)){if ($flight_num == $row['flight_num']){echo "<center>Flight Number
what business processes?
Hi,
Question about the upload of large files
Hi there,I have a question about the upload of large files, like videos (files generally above 20Mo).Is it better to use the FTP functions of php or the normal upload fonctions using additional
Help With editting and deleting form
Hallo !!So look at this image :http://img194.imageshack.us/img194/8272/snapshot5f.png This table prints the titles of entries from a table in a database.. The code that i use for this table is this
BackButton Behaviour in AJAX
I have an ASPX Page AJAX Enabled!The page has a gridView and a DDL for filtering on it. The Gridview has links on its items. The behaviour I am running into is:If I filter a criteria from DDL and then
Do not allow posting of whitespace
Currently the script below works if the user does not type a name/message, but if i create a whitespace with the spacebar, it will submit. How would I fix this?message page:<?php// Get the
SQL query not working well
Hi,
max() problem
I have a while loop to get image names. Code: $imagequery = mysql_query("SELECT * FROM ad_image WHERE user='$user' AND ad='$adnr' ORDER BY `picorder` ASC")or die(mysql_error());$totpics =
Get relative path from absolute path
How would one go about getting the relative path to a file from its absolute path?
upload only text files
hi guys i want to upload only text like like (pdf,note pad and ofiice files) so can any one please tell me how can i restrict that