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]

Reply via email to