View Single Post
  #3  
Old 08-16-2002, 01:31 PM
TeddyBare69 TeddyBare69 is offline
 
Join Date: Jun 2002
Location: CA, US
Posts: 93
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You actually already have the code. It is doquery(). Here is the section of code that the error occured:

$loc = strpos( $val, ';' );
if ( $loc > 0 && strlen(trim($val)) > 1 )
{
$val[strlen($val) - 1] = ' ';
str_replace( ';', ' ', $val );
$DB_site->query($val);
if ($onvservers==1 and substr($val, 0, 5)=="ALTER")
{
$DB_site->link_id=0;
@mysql_close();

sleep(1);
$DB_site->connect();
}
}
I get the error on the $DB_site->query($val); line.

I have a function that takes a file name and reads the contents of the file. The contents of the file is an SQL statement which can be on either one line or multiple lines but has to end with a ; . The last time I got the error it was executing the following SQL

CREATE TABLE IF NOT EXISTS `viPortfolio` (
`viPortfolioid` smallint(6) unsigned NOT NULL auto_increment,
`userid` int(10) unsigned NOT NULL default '0',
`mimeid` mediumint unsigned NOT NULL default '1',
`filename` VARCHAR(250) NOT NULL,
`file` BLOB NOT NULL,
`thumb` BLOB NOT NULL,
`width` int(10) unsigned NOT NULL default '0',
`height` int(10) unsigned NOT NULL default '0',
`text` mediumtext NOT NULL,
`startdate` date NOT NULL,
`enddate` date,
`updateid` MEDIUMINT,
`viewcount` MEDIUMINT default '0',
PRIMARY KEY `userid` (`viPortfolioid`, `userid`, `mimeid`)
) TYPE=MyISAM;

Iinitialy I had place this line before the query statement:
$val[strlen($val) - 1] = ' ';

I must have had a space at the end of the line or something because the ; got past it. Then I replaced that line with the line below.
str_replace( ';', ' ', $val );

Yes, this does fix the problem. It takes the ; out of the statement so that MySql doesn't have to deal with it. I still would like to know why it cares. A ; has always been a statement ender in any DB system I have used before?
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01204 seconds
  • Memory Usage 1,765KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete