vendredi 10 avril 2015

MySQL form only works half the time despite using the exact same input data

Here's the issue: When my form is submitted, sometimes the page will just reload without uploading to the DB and other times it will work. The odd part is that even I submit the EXACT same input data, it might finally work after 2 or 3 attempts.


The form is using PHP / MySQL. The table it submits to has 53 columns. I'm primarily using VARCHAR 255 for the data type.


I don't know if the table is too big or the upload script is too long (only 1,400 lines). Either way, this is incredibly odd and I've never had this happen before. Any thoughts on why this could be happening would be much appreciated. Please let me know if I have to clarify anything else about the table or code.


Here's the upload script: http://ift.tt/1IAwbhq


Here's the table structure:



`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`website_name` varchar(255) NOT NULL,
`blog_giveaway` tinyint(1) NOT NULL,
`blog_giveaway_feature` tinyint(1) NOT NULL,
`title` varchar(255) NOT NULL,
`url_title` varchar(255) NOT NULL,
`meta_description` varchar(255) NOT NULL,
`prize_value` varchar(255) NOT NULL,
`prize_value_clean` int(30) NOT NULL,
`prize_category` varchar(255) NOT NULL,
`prize_category_display` varchar(255) NOT NULL,
`prize_category_display_url` varchar(255) NOT NULL,
`prize_description` text NOT NULL,
`entry_method` varchar(500) NOT NULL,
`more_ways_to_enter` text NOT NULL,
`start_date` varchar(255) NOT NULL,
`end_date` varchar(255) NOT NULL,
`end_time` varchar(255) NOT NULL,
`end_timestamp` varchar(30) NOT NULL,
`time_zone` varchar(255) NOT NULL,
`website_form_url` varchar(255) NOT NULL,
`official_rules_url` varchar(255) NOT NULL,
`winners_page_url` varchar(255) NOT NULL,
`eligibility` varchar(255) NOT NULL,
`eligibility_more` varchar(500) NOT NULL,
`excluding` varchar(500) NOT NULL,
`excluding_more` varchar(500) NOT NULL,
`age_limit` varchar(30) NOT NULL,
`entry_limit` varchar(255) NOT NULL,
`image_url_location` varchar(500) NOT NULL,
`image_loc` varchar(500) NOT NULL,
`image_name` varchar(255) NOT NULL,
`image_ext` varchar(4) NOT NULL,
`sweepstakes_widget` text NOT NULL,
`reciprocal_links` text NOT NULL,
`link_clicks` int(11) NOT NULL,
`self_hosted_sweepstakes` tinyint(1) NOT NULL,
`featured_listing` tinyint(1) NOT NULL,
`featured_listing_request` tinyint(1) NOT NULL,
`featured_listing_start_date` varchar(255) NOT NULL,
`featured_listing_end_date` varchar(255) NOT NULL,
`featured_listing_end_timestamp` int(11) NOT NULL,
`newsletter_include` tinyint(1) NOT NULL,
`newsletter_include_num` int(11) NOT NULL,
`newsletter_exp` tinyint(1) NOT NULL,
`expired_notify` tinyint(1) NOT NULL,
`title_append_site_name` tinyint(1) NOT NULL,
`timestamp` varchar(30) NOT NULL,
`visitor_count` int(11) NOT NULL,
`is_live` tinyint(1) NOT NULL


Here's the php code from when I migrate the data from a queued table to the live one. This has the exact same issue where it takes 2 - 3 attempts to work:



$query = mysql_query("SELECT * FROM `my_table_queue` WHERE url_title = '".mysql_real_escape_string($_GET['four'])."'");
while($fetch = mysql_fetch_assoc($query)) {

$id = $fetch['id'];
$user_id = $fetch['user_id'];
$name = mysql_real_escape_string($fetch['name']);
$email = mysql_real_escape_string($fetch['email']);
$website_name = mysql_real_escape_string($fetch['website_name']);
$blog_giveaway = mysql_real_escape_string($fetch['blog_giveaway']);
$title = mysql_real_escape_string($fetch['title']);
$url_title = mysql_real_escape_string($fetch['url_title']);
$meta_description = mysql_real_escape_string($fetch['meta_description']);
$prize_value = mysql_real_escape_string($fetch['prize_value']);
$prize_category = mysql_real_escape_string($fetch['prize_category']);
$prize_category_display = mysql_real_escape_string($fetch['prize_category_display']);
$prize_category_display_url = mysql_real_escape_string($fetch['prize_category_display_url']);
$prize_description = mysql_real_escape_string($fetch['prize_description']);
$entry_method = mysql_real_escape_string($fetch['entry_method']);
$more_ways_to_enter = mysql_real_escape_string($fetch['more_ways_to_enter']);
$start_date = mysql_real_escape_string($fetch['start_date']);
$end_date = mysql_real_escape_string($fetch['end_date']);
$end_time = mysql_real_escape_string($fetch['end_time']);
$end_timestamp = mysql_real_escape_string($fetch['end_timestamp']);
$time_zone = mysql_real_escape_string($fetch['time_zone']);
$website_form_url = mysql_real_escape_string($fetch['website_form_url']);
$official_rules_url = mysql_real_escape_string($fetch['official_rules_url']);
$winners_page_url = mysql_real_escape_string($fetch['winners_page_url']);
$eligibility = mysql_real_escape_string($fetch['eligibility']);
$eligibility_more = mysql_real_escape_string($fetch['eligibility_more']);
$excluding = mysql_real_escape_string($fetch['excluding']);
$excluding_more = mysql_real_escape_string($fetch['excluding_more']);
$age_limit = mysql_real_escape_string($fetch['age_limit']);
$entry_limit = mysql_real_escape_string($fetch['entry_limit']);
$image_loc = mysql_real_escape_string($fetch['image_loc']);
$image_name = mysql_real_escape_string($fetch['image_name']);
$image_ext = mysql_real_escape_string($fetch['image_ext']);
$sweepstakes_widget = mysql_real_escape_string($fetch['sweepstakes_widget']);
$self_hosted_sweepstakes = $fetch['self_hosted_sweepstakes'];
$timestamp = $fetch['timestamp'];
$visitor_count = $fetch['visitor_count'];
$is_live = $fetch['is_live'];

$unix_timestamp = time() - 18000;

$prize_value_clean = str_ireplace(',','', $prize_value);
$prize_value_clean = number_format($prize_value_clean);
$prize_value_clean = str_ireplace(',','', $prize_value_clean);

if(mysql_query("INSERT INTO `my_table` VALUES('',
'$user_id',
'$username',
'$email',
'$website_name',
'$blog_giveaway',
'',
'$title',
'$url_title',
'$meta_description',
'$prize_value',
'$prize_value_clean',
'$prize_category',
'$prize_category_display',
'$prize_category_display_url',
'$prize_description',
'$entry_method',
'$more_ways_to_enter',
'$start_date',
'$end_date',
'$end_time',
'$end_timestamp',
'$time_zone',
'$website_form_url',
'$official_rules_url',
'$winners_page_url',
'$eligibility',
'$eligibility_more',
'$excluding',
'$excluding_more',
'$age_limit',
'$entry_limit',
'',
'$image_loc',
'$image_name',
'$image_ext',
'',
'$sweepstakes_widget',
'',
'0',
'',
'',
'',
'',
'',
'0',
'0',
'0',
'0',
'0',
'$unix_timestamp',
'0',
'0')")) {

}

Aucun commentaire:

Enregistrer un commentaire