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]