Pls help to solve my Problem

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
praveenc4
Forum Newbie
Posts: 2
Joined: Sun Jul 30, 2006 12:11 pm

Pls help to solve my Problem

Post by praveenc4 »

Everah | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]


HI Friends,

This is my first post and i am just learning PHP, i developed a code which dump data from datafiles into mysql but i geting errors here i am giving the some code

Code: Select all

$fp=fopen("datafile.txt","r");
$c=0;
$numrows=0;
while(!feof($fp))
{
	$buffer=fgets($fp,4096);
	$fields=explode("|",$buffer);


$sql = "INSERT INTO ianhotels VALUES ('".$fields[0]."','".$fields[1]."', '".$fields[2]."', '".$fields[3]."', '".$fields[4]."', '".$fields[5]."', '".$fields[6]."', '".$fields[7]."','".$fields[8]."', '".$fields[9]."', '".$fields[10]."', '".$fields[11]."', '".$fields[12]."', '".$fields[13]."', '".$fields[14]."', '".$fields[15]."', '".$fields[16]."', '".$fields[17]."', '".$fields[18]."', '".$fields[19]."', '".$fields[20]."', '".$fields[21]."', '".$fields[22]."', '".$fields[23]."')";
	

	if($fields[0] <> "HotelID" && $fields[0] <> "")
	{
		if(mysql_query($sql))
		{
			$numrows++;
		}
	}

}
echo $numrows."\n";
?>
I am getting error like this...


Notice: Undefined offset: 3 in c:\program files\easyphp1-8\www\hotels\s\load.php on line 13

Notice: Undefined offset: 4 in c:\program files\easyphp1-8\www\hotels\s\load.php on line 13

Notice: Undefined offset: 5 in c:\program files\easyphp1-8\www\hotels\s\load.php on line 13

Notice: Undefined offset: 6 in c:\program files\easyphp1-8\www\hotels\s\load.php on line 13

Notice: Undefined offset: 7 in c:\program files\easyphp1-8\www\hotels\s\load.php on line 13

Notice: Undefined offset: 8 in c:\program files\easyphp1-8\www\hotels\s\load.php on line 13

Notice: Undefined offset: 9 in c:\program files\easyphp1-8\www\hotels\s\load.php on line 13

Notice: Undefined offset: 10 in c:\program files\easyphp1-8\www\hotels\s\load.php on line 13

Notice: Undefined offset: 11 in c:\program files\easyphp1-8\www\hotels\s\load.php on line 13

Notice: Undefined offset: 12 in c:\program files\easyphp1-8\www\hotels\s\load.php on line 13

Please help me to slove this problem


Everah | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]
User avatar
Ollie Saunders
DevNet Master
Posts: 3179
Joined: Tue May 24, 2005 6:01 pm
Location: UK

Post by Ollie Saunders »

try using

Code: Select all

file_get_contents
instead of fopen, feof and fgets.
User avatar
RobertGonzalez
Site Administrator
Posts: 14293
Joined: Tue Sep 09, 2003 6:04 pm
Location: Fremont, CA, USA

Post by RobertGonzalez »

Run this piece of code and report back what was returned...

Code: Select all

<?php
$fp=fopen("datafile.txt","r");
$c=0;
$numrows=0;
while(!feof($fp))
{
        $buffer=fgets($fp,4096);
        $fields=explode("|",$buffer);
    foreach ($fields as $key => $value)
    {
        echo '<p>Fields [<strong>' . $key . '</strong>] has a value of ' . $value . '.</p>';
    }

/*
$sql = "INSERT INTO ianhotels VALUES ('".$fields[0]."','".$fields[1]."', '".$fields[2]."', '".$fields[3]."', '".$fields[4]."', '".$fields[5]."', '".$fields[6]."', '".$fields[7]."','".$fields[8]."', '".$fields[9]."', '".$fields[10]."', '".$fields[11]."', '".$fields[12]."', '".$fields[13]."', '".$fields[14]."', '".$fields[15]."', '".$fields[16]."', '".$fields[17]."', '".$fields[18]."', '".$fields[19]."', '".$fields[20]."', '".$fields[21]."', '".$fields[22]."', '".$fields[23]."')";
       

        if($fields[0] <> "HotelID" && $fields[0] <> "")
        {
                if(mysql_query($sql))
                {
                        $numrows++;
                }
        }

}
echo $numrows."\n";
*/
?>
praveenc4
Forum Newbie
Posts: 2
Joined: Sun Jul 30, 2006 12:11 pm

Post by praveenc4 »

Thxs for your reply..

Here i am getting when i run that which you given and d'not used any db connection


Parse error: parse error in c:\program files\easyphp1-8\www\hotels\s\load.php on line 13
User avatar
RobertGonzalez
Site Administrator
Posts: 14293
Joined: Tue Sep 09, 2003 6:04 pm
Location: Fremont, CA, USA

Post by RobertGonzalez »

That's twice today :x I cant seem to post clean code... arrggggh!

Try this one, it is clean...

Code: Select all

<?php
$fp=fopen("datafile.txt","r");
$c=0;
$numrows=0;
while(!feof($fp))
{
        $buffer=fgets($fp,4096);
        $fields=explode("|",$buffer);
    foreach ($fields as $key => $value)
    {
        echo '<p>Fields [<strong>' . $key . '</strong>] has a value of ' . $value . '.</p>';
    }

/*
$sql = "INSERT INTO ianhotels VALUES ('".$fields[0]."','".$fields[1]."', '".$fields[2]."', '".$fields[3]."', '".$fields[4]."', '".$fields[5]."', '".$fields[6]."', '".$fields[7]."','".$fields[8]."', '".$fields[9]."', '".$fields[10]."', '".$fields[11]."', '".$fields[12]."', '".$fields[13]."', '".$fields[14]."', '".$fields[15]."', '".$fields[16]."', '".$fields[17]."', '".$fields[18]."', '".$fields[19]."', '".$fields[20]."', '".$fields[21]."', '".$fields[22]."', '".$fields[23]."')";
       

        if($fields[0] <> "HotelID" && $fields[0] <> "")
        {
                if(mysql_query($sql))
                {
                        $numrows++;
                }
        }

}
echo $numrows."\n";
*/
}
?>
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

[url=http://forums.devnetwork.net/viewtopic.php?t=30037]Forum Rules[/url] Section 1.1 wrote:2. Use descriptive subjects when you start a new thread. Vague titles such as "Help!", "Why?" are misleading and keep you from receiving an answer to your question.
Post Reply