3.23.29 is a interesting version. I'm not sure whether from .29 or from .30 in mysql 
had been made big changes.

Andrey Hristov
IcyGEN Corporation
http://www.icygen.com
BALANCED SOLUTIONS

----- Original Message -----
From: "John Steele" <[EMAIL PROTECTED]>
To: "PHP General List" <[EMAIL PROTECTED]>
Sent: Tuesday, November 13, 2001 3:32 AM
Subject: Re: [PHP] for loop problem?


> Tyler,
>
>   It must be something weird with your NT version of MySQL, you might try asking on 
>the MySQL list, or checking the bug list on
mysql.com.  I have an even older version here on 95, that doesn't display any of those 
problems.
>
>   Here's the code I used with it's output (no duplicates, I checked).  Notice that I 
>did have to change the CREATE TABLE to meet
3.21.29a-gamma restrictions.
>
>   You might try changing the passcode to an int, and tacking the 'P' on the front in 
>your application.  Not sure if that's
possible...
>
>   John
>
> <?php /* testdb.php */
>
> /*
> Win95 OSR2, Xitami v2.4d6
> PHP Version 4.0.2, Zend Engine v1.0.2, Zend Optimizer v0.99
> MySQL Version: MySQL 3.21.29a-gamma
>   MyISAM only - Max key length is 256 = 11 + 245
>
> CREATE DATABASE testdb;
>
> CREATE TABLE passcodes (
>   id int(11) NOT NULL auto_increment,
>   passcode varchar(255) NOT NULL default '',
>   PRIMARY KEY (id),
>   KEY idpass (id,passcode(245))
>   );
> */
>
> error_reporting(E_ALL);
> set_time_limit (0);
>
> if (!$connection = mysql_connect('localhost','root','*********'))
>   die ("Can't connect to server: ". mysql_error());
>
> if (!$db = mysql_select_db('testdb', $connection))
>   die ("Can't select database testdb: ". mysql_error());
>
> if (!mysql_query("DELETE FROM passcodes"))
>   die ('Delete Failed: '. mysql_error());
>
> $value1 = 1000000;
> $value2 = 1223109;
> for($i=$value1; $i<=$value2; $i++) {
>   if (!mysql_query("INSERT INTO passcodes (passcode) VALUES ('P$i')"))
>     die ("INSERT failed at $i: ".mysql_error());
>   }
> echo 'INSERTs completed.<br><br>';
>
> if (!$qid = mysql_query("SELECT id,passcode FROM passcodes ORDER BY passcode DESC 
>LIMIT 10"))
>   die ("SELECT failed: ". mysql_error());
>
> while ($arr = mysql_fetch_array($qid))
>   echo "$arr[0]: $arr[1]<br>\n";
>
> if (!mysql_close($connection))
>   die ("Can't close connection: ". mysql_error());
> ?>
>
> And it's output:
>
> INSERTs completed.
>
> 223110: P1223109
> 223109: P1223108
> 223108: P1223107
> 223107: P1223106
> 223106: P1223105
> 223105: P1223104
> 223104: P1223103
> 223103: P1223102
> 223102: P1223101
> 223101: P1223100
>
>
> >Hi John,
> >
> >MySQL Version: MySQL 3.23.44-nt
> >
> >SQL:
> >CREATE TABLE passcodes (
> >  id int(11) NOT NULL auto_increment,
> >  passcode varchar(255) NOT NULL default '',
> >  PRIMARY KEY  (id),
> >  KEY id (id,passcode)
> >) TYPE=MyISAM;
> >
> >I'm beginning to think it's a MySQL problem also because this PHP SHOULD
> >work.
> >
> >Tyler
> >
> >----- Original Message -----
> >From: "John Steele" <[EMAIL PROTECTED]>
> >To: "PHP General List" <[EMAIL PROTECTED]>
> >Sent: Monday, November 12, 2001 3:33 PM
> >Subject: Re: [PHP] for loop problem?
> >
> >
> >> Hi Tyler,
> >>
> >>   This doesn't sound like a problem with PHP, but MySQL.  Can you show
> >your CREATE TABLE and MySQL version?
> >>
> >> John
> >>
> >> >Hi Martin,
> >> >
> >> >I just got done doing that, and i got the same thing!  :-(
> >> >
> >> >Here's something interesting though.  There's an id field that's set to
> >> >AUTO_INCREMENT.  I did a "SELECT * FROM passcodes WHERE
> >passcode='P1000000'"
> >> >This gave me this:
> >> >
> >> >id         |     passcode
> >> >-----------------------
> >> >1           |    P1000000
> >> >82145   |    P1000000
> >> >209398 |    P1000000
> >> >
> >> >Shouldn't the ID's be further apart than that?  Know what I'm saying?
> >> >
> >> >Tyler
> >> >
> >> >----- Original Message -----
> >> >From: "Martin Towell" <[EMAIL PROTECTED]>
> >> >To: "'Tyler Longren'" <[EMAIL PROTECTED]>; "Jack Dempsey"
> >> ><[EMAIL PROTECTED]>
> >> >Cc: "PHP-General" <[EMAIL PROTECTED]>
> >> >Sent: Monday, November 12, 2001 10:45 PM
> >> >Subject: RE: [PHP] for loop problem?
> >> >
> >> >
> >> >> How about changing the logic lightly? try this:
> >> >>
> >> >> $value1 = 0;
> >> >> $value2 = 223109;
> >> >> for($i=$value1; $i<=$value2; $i++) {
> >> >>  $tmp = sprintf("1%06d\n", $i);
> >> >>  mysql_query("INSERT INTO passcodes (passcode) VALUES ('P$tmp')");
> >> >>
> >> >> basically taking away 1,000,000 from the numbers then adding it back on
> >> >> later
> >> >>
> >> >> Martin T
> >> >>
> >> >> -----Original Message-----
> >> >> From: Tyler Longren [mailto:[EMAIL PROTECTED]]
> >> >> Sent: Tuesday, November 13, 2001 3:38 PM
> >> >> To: Jack Dempsey
> >> >> Cc: PHP-General
> >> >> Subject: Re: [PHP] for loop problem?
> >> >>
> >> >>
> >> >> I've ran it a few times without the MySQL code in there.  Runs just
> >fine
> >> >> that way for me too.  After it's run a few times for me (with the MySQL
> >> >> code), I start getting duplicate entries of codes in there.  For
> >example,
> >> >> I'll end up with a few 'P1000000' entries in the 'passcodes' field.
> >> >>
> >> >> Oh well, here I come perl!
> >> >>
> >> >> Thanks,
> >> >> Tyler
> >> >>
> >> >> ----- Original Message -----
> >> >> From: "Jack Dempsey" <[EMAIL PROTECTED]>
> >> >> To: "Tyler Longren" <[EMAIL PROTECTED]>;
> ><[EMAIL PROTECTED]>
> >> >> Sent: Monday, November 12, 2001 10:43 PM
> >> >> Subject: RE: [PHP] for loop problem?
> >> >>
> >> >>
> >> >> > ran it (without mysql queries) and worked fine....real strange.....
> >> >> > have you tried the loop without the mysql queries?
> >> >> >
> >> >> > -----Original Message-----
> >> >> > From: Tyler Longren [mailto:[EMAIL PROTECTED]]
> >> >> > Sent: Monday, November 12, 2001 11:28 PM
> >> >> > To: Jack Dempsey; [EMAIL PROTECTED]
> >> >> > Subject: Re: [PHP] for loop problem?
> >> >> >
> >> >> >
> >> >> > Exact code:
> >> >> > <?
> >> >> > $connection = mysql_connect("host_here","user_here","pass_here");
> >> >> > $db = mysql_select_db("db_here", $connection);
> >> >> > $value1 = 1000000;
> >> >> > $value2 = 1223109;
> >> >> > for($i=$value1; $i<=$value2; $i++) {
> >> >> >  mysql_query("INSERT INTO passcodes (passcode) VALUES ('P$i')");
> >> >> >  if (mysql_error() != "") {
> >> >> >   print "<font face=Arial size=2>".mysql_error()."</font>";
> >> >> >   exit;
> >> >> >  }
> >> >> > }
> >> >> > mysql_close($connection);
> >> >> > ?>
> >> >> >
> >> >> > Tyler
> >> >> >
> >> >> > ----- Original Message -----
> >> >> > From: "Jack Dempsey" <[EMAIL PROTECTED]>
> >> >> > To: <[EMAIL PROTECTED]>
> >> >> > Sent: Monday, November 12, 2001 10:34 PM
> >> >> > Subject: RE: [PHP] for loop problem?
> >> >> >
> >> >> >
> >> >> > > paste the complete code in and myself and others can run your exact
> >> >copy
> >> >> > >
> >> >> > > -----Original Message-----
> >> >> > > From: Tyler Longren [mailto:[EMAIL PROTECTED]]
> >> >> > > Sent: Monday, November 12, 2001 11:22 PM
> >> >> > > To: Martin Towell; [EMAIL PROTECTED]
> >> >> > > Subject: Re: [PHP] for loop problem?
> >> >> > >
> >> >> > >
> >> >> > > I removed all of the quotes that could be affecting it.  Still, it
> >> >loops
> >> >> > > until I stop it.  I let it go all the way up to 350,000 or so.  Any
> >> >> other
> >> >> > > ideas anyone?
> >> >> > >
> >> >> > > Thank you!
> >> >> > > Tyler
> >> >> > >
> >> >> > > ----- Original Message -----
> >> >> > > From: "Martin Towell" <[EMAIL PROTECTED]>
> >> >> > > To: <[EMAIL PROTECTED]>
> >> >> > > Sent: Monday, November 12, 2001 10:06 PM
> >> >> > > Subject: RE: [PHP] for loop problem?
> >> >> > >
> >> >> > >
> >> >> > > > hmmm... I just tried :
> >> >> > > >
> >> >> > > > $value1 = 1000000;
> >> >> > > > $value2 = 1223109;
> >> >> > > > for($i = $value1; $i <= $value2; $i++)
> >> >> > > > {
> >> >> > > >   echo "$i\n";
> >> >> > > > }
> >> >> > > >
> >> >> > > > and it spat out all 223109 numbers (albiet after a VERY long
> >time)
> >> >> > > > can't see how adding mysql code would affect the loop...
> >> >> > > >
> >> >> > > > Martin T
> >> >> > > >
> >> >> > > > -----Original Message-----
> >> >> > > > From: Tyler Longren [mailto:[EMAIL PROTECTED]]
> >> >> > > > Sent: Tuesday, November 13, 2001 2:53 PM
> >> >> > > > To: Evan Nemerson; [EMAIL PROTECTED]
> >> >> > > > Subject: Re: [PHP] for loop problem?
> >> >> > > >
> >> >> > > >
> >> >> > > > To everyone that said it had something to do with the quotes:
> >> >> > > > that has nothing to do with it.
> >> >> > > >
> >> >> > > > When I first wrote this, It didn't have all the quotes.  It did
> >the
> >> >> same
> >> >> > > > thing.  Then, I thought I may need some quotes somewhere, but
> >that
> >> >> > > obviously
> >> >> > > > didn't help.  Any other suggestions?  If I HAVE to, I'll do this
> >in
> >> >> > PERL,
> >> >> > > > but would much rather do it in PHP.
> >> >> > > >
> >> >> > > > Thanks everyone,
> >> >> > > > Tyler
> >> >> > > >
> >> >> > > > ----- Original Message -----
> >> >> > > > From: "Evan Nemerson" <[EMAIL PROTECTED]>
> >> >> > > > To: "Tyler Longren" <[EMAIL PROTECTED]>;
> >> >> <[EMAIL PROTECTED]>
> >> >> > > > Sent: Monday, November 12, 2001 9:41 PM
> >> >> > > > Subject: Re: [PHP] for loop problem?
> >> >> > > >
> >> >> > > >
> >> >> > > > > My word why all the quotes?
> >> >> > > > >
> >> >> > > > > <?
> >> >> > > > > $connection = mysql_connect("blah","blah","blah");
> >> >> > > > > $db = mysql_select_db("db_to_use", $connection);
> >> >> > > > > $value1 = 1000000;
> >> >> > > > > $value2 = 1223109;
> >> >> > > > > for($i=$value1; $i<=$value2; $i++) {
> >> >> > > > >  mysql_query("INSERT INTO passcodes (passcode) VALUES
> >('P$i')");
> >> >> > > > >  if (mysql_error() != "") {
> >> >> > > > >   print "<font face=Arial size=2>".mysql_error()."</font>";
> >> >> > > > >   exit;
> >> >> > > > >  }
> >> >> > > > > }
> >> >> > > > > mysql_close($connection);
> >> >> > > > > ?>
> >> >> > > > >
> >> >> > > > > That should give you some better results.
> >> >> > > > >
> >> >> > > > >
> >> >> > > > > On Monday 12 November 2001 07:32 pm, you wrote:
> >> >> > > > > > Hello everyone,
> >> >> > > > > >
> >> >> > > > > > I have a pretty big list of codes that need to be put into a
> >> >mysql
> >> >> > db.
> >> >> > > > The
> >> >> > > > > > numbers range from 1000000 to 1223109.  Here's the PHP I
> >wrote
> >> >to
> >> >> > put
> >> >> > > > these
> >> >> > > > > > codes into a database:
> >> >> > > > > >
> >> >> > > > > > <?
> >> >> > > > > > $connection = mysql_connect("blah","blah","blah");
> >> >> > > > > > $db = mysql_select_db("db_to_use", $connection);
> >> >> > > > > > $value1 = "1000000";
> >> >> > > > > > $value2 = "1223109";
> >> >> > > > > > for($i="$value1"; $i<="$value2"; $i++) {
> >> >> > > > > >  mysql_query("INSERT INTO passcodes (passcode) VALUES
> >('P$i')");
> >> >> > > > > >  if (mysql_error() != "") {
> >> >> > > > > >   print "<font face=Arial size=2>".mysql_error()."</font>";
> >> >> > > > > >   exit;
> >> >> > > > > >  }
> >> >> > > > > > }
> >> >> > > > > > mysql_close($connection);
> >> >> > > > > > ?>
> >> >> > > > > >
> >> >> > > > > > Everytime I run this from a browser, it just keeps looping.
> >It
> >> >> > should
> >> >> > > > put
> >> >> > > > > > about 223109 entries into the "passcodes" table.  However, it
> >> >just
> >> >> > > keeps
> >> >> > > > > > looping.  I'll end up with 400,000 or so entries before I
> >stop
> >> >it.
> >> >> > I
> >> >> > > > make
> >> >> > > > > > sure I empty that table before I start running it again.  Why
> >is
> >> >> > this
> >> >> > > > > > happening?
> >> >> > > > > >
> >> >> > > > > > Thanks everyone,
> >> >> > > > > > Tyler
>
> --
> /* SteeleSoft Consulting     John Steele - Systems Analyst/Programmer
>  *  We also walk dogs...  Dynamic Web Design  PHP/MySQL/Linux/Hosting
>  *  www.steelesoftconsulting.com     [EMAIL PROTECTED]
>  */
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail: [EMAIL PROTECTED]
>
>


-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to