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
)
)
if php cookie set, show code...
Hi all.. I need to figure out this little snippet right quick.. seems like it should be easy enough to do, but I'm flailing here...I need to have a blurb that checks to see if a cookie of a specific
Parse error: syntax error, unexpected $end in
hello,i receive the error :Parse error: syntax error, unexpected $end in C:\xampp\xampp\htdocs\helpdesk\users.php on line 372i looked allover the code but i can't find the curly bracket missing or
Email with Attachments in PHP
Hi Friends How to send email in PHP with attachment.I know simple mail can be sent with mail() function but i have no idea about email with attachment.
pop3 and fsockopen
So I am able to connect to the pop3 server, log in, and check how many messages there are. I am having a problem with server responses though.In the following code, I don't understand why on the
Custom CMS
This is a big custom CMS script I'd like to develop and would like some help atleast figuring out where the best place to start would be.Website PagesBackstage 2 provides website pages for the
modifying query string with no page refresh
Hi everybody,I've tried to get info about my problem all over the internet but i didn't find out what I need.The question is: how can I modify the querystring in PHP with no page refresh?Facebook uses
small inaccuracies
I have this code to convert fractional base 10 into base 2: while($num > 0) { echo "<tr><td>". $num." * 2 =
Select question
Hi,First I would like to say that php is pretty new for me.. so please don't shoot me if this should be a stupid question!But I'm a little surpized due to following..I have a search script (very large
removing space from the end of a variable
i have a variable $image which contains the following url "http://tiles.xbox.com/tiles/oo/P5/0mdsb2JgbA9ECgR8GgMfWSpVL2ljb24vMC84MDAwIAABAAAAAP3Wg70=.jpg"but for some reason it is breaking
Namespace Problem
I'm having problem with a section of code with a variable namespace.This code works fine:Line number On/Off | Expand/Contract $c = new \Apps\Admin\Views\Index; However this code does not:Line number