Go Back   EQEmulator Home > EQEmulator Forums > General > General::General Discussion

General::General Discussion General discussion about EverQuest(tm), EQEMu, and related topics.
Do not post support topics here.

Reply
 
Thread Tools Display Modes
  #16  
Old 08-27-2009, 01:13 PM
bergalas
Banned
 
Join Date: Aug 2009
Location: look behind you
Posts: 30
Default

i do believe its the empy fields (||) in the items.txt file
Reply With Quote
  #17  
Old 08-27-2009, 01:17 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

The only thing I can think of, do you have DBD installed? If not, there is a tutorial somewhere around here that tells you how to install it.
Reply With Quote
  #18  
Old 08-27-2009, 01:22 PM
bergalas
Banned
 
Join Date: Aug 2009
Location: look behind you
Posts: 30
Default

new error lol

DBD::mysql::db do failed: You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use near
'range,damage,color,itemtype,material,UNK060,elite material,sellrate,combateffect
s' at line 1 at load_13thfloor_items.pl line 72, <STDIN> line 3318.
Reply With Quote
  #19  
Old 08-27-2009, 01:27 PM
bergalas
Banned
 
Join Date: Aug 2009
Location: look behind you
Posts: 30
Default

could range itself be a problem? as in a protected word in mysql?
Reply With Quote
  #20  
Old 08-27-2009, 01:31 PM
bergalas
Banned
 
Join Date: Aug 2009
Location: look behind you
Posts: 30
Default

yep that IS the problem its a reserved word!

The following are new reserved words in MySQL 5.1:
ACCESSIBLE LINEAR MASTER_SSL_VERIFY_SERVER_CERT
RANGE READ_ONLY READ_WRITE

MySQL allows some keywords to be used as unquoted identifiers because many people previously used them. Examples are those in the following list:
Reply With Quote
  #21  
Old 08-27-2009, 01:37 PM
bergalas
Banned
 
Join Date: Aug 2009
Location: look behind you
Posts: 30
Default

guess that means i need to downgrade mysql on my server
Reply With Quote
  #22  
Old 08-27-2009, 02:00 PM
bergalas
Banned
 
Join Date: Aug 2009
Location: look behind you
Posts: 30
Default

UPDATE tested on my live webserver with mysql 5.0.51 ll required modules installed

DBD::mysql::db do failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 at load_13thfloor_items.pl line 72, <STDIN> line 721.

I would like to note that I checked the svn this file hasnt been updated since 2008 sept.
Reply With Quote
  #23  
Old 08-27-2009, 02:12 PM
bergalas
Banned
 
Join Date: Aug 2009
Location: look behind you
Posts: 30
Default

could we add something to this
Quote:
while(<STDIN>) {
chomp();
s/'/\\'/g;
@f=split("(?<!\\\\)\\|", $_);
$insert2=join("','",@f);
$#f--;
grep(s/\\\|/\\\\\|/g,@f);
grep(s/"/\\\\"/g,@f);
$statement=sprintf("%s%s','13THFLOOR',now()",$inse rt,$insert2,join('|',@f));
$dbh->do($statement);
printf("Processing: %d %s \r",$f[4],$f[1]);
++$count;
}
to replace || With |NULL|? Im not that good with perl
Reply With Quote
  #24  
Old 08-28-2009, 01:24 AM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

Quote:
Originally Posted by bergalas View Post
could we add something to this


to replace || With |NULL|? Im not that good with perl
I believe this will do the trick:

Code:
while(<STDIN>) {
chomp();
s/'/\\'/g;
s/||/|NULL|/g;
@f=split("(?<!\\\\)\\|", $_);
$insert2=join("','",@f);
$#f--;
grep(s/\\\|/\\\\\|/g,@f);
grep(s/"/\\\\"/g,@f);
$statement=sprintf("%s%s','13THFLOOR',now()",$inse rt,$insert2,join('|',@f));
$dbh->do($statement);
printf("Processing: %d %s \r",$f[4],$f[1]);
++$count;
}
__________________
GM-Impossible of 'A work in progress'
A non-legit PEQ DB server
How to create your own non-legit server

My Contributions to the Wiki
Reply With Quote
  #25  
Old 08-28-2009, 03:32 AM
bergalas
Banned
 
Join Date: Aug 2009
Location: look behind you
Posts: 30
Default

hmmm that didnt work either ugh i give up lol
Reply With Quote
  #26  
Old 08-28-2009, 11:19 AM
Andrew80k
Dragon
 
Join Date: Feb 2007
Posts: 659
Default

Nahh. That won't work. You'll need to escape the '|' with \ so:

s/\|\|/\|NULL\|/g;

the '|' is a special character in perl used as 'or' in regular expressions.

Last edited by Andrew80k; 08-28-2009 at 11:21 AM.. Reason: Forgot my semicolon
Reply With Quote
  #27  
Old 08-28-2009, 02:05 PM
nosfentora
Discordant
 
Join Date: Oct 2004
Location: In a house
Posts: 387
Default

i'm not sure this will help, but if you quote range like this

`range`

mysql will accept it as a valid field identifier.

strictly speaking any field should be 'quoted' with the ` `, and values with ' '.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 12:13 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3