www.webdeveloper.com
Results 1 to 4 of 4

Thread: Syntax errors can't get form to update mysql record

Hybrid View

  1. #1
    Join Date
    May 2013
    Posts
    10

    Syntax errors can't get form to update mysql record

    ok so I have a "test" form that I'm working with trying to update a record in MySQL (I'm fully aware of the sql injections possibilities with this form) so here is my code:

    Code:
    <?php
    	// database connection //
    
    	include 'db_connect.php';
    
    		
    	
    	include 'data/var/variables.php';
    	
    	//Writes the information to the database
    	
    		mysql_query("UPDATE tickets SET 	work_performed = $work_performed,
    										 	item_qty1 = $item_qty1,
    										 	item_qty2 = $item_qty2,
    										 	item_qty3 = $item_qty3,
    										 	item_qty4 = $item_qty4,
    											item_qty5 = $item_qty5,
    											manuf_1 = $manuf_1, 
    										 	manuf_2 = $manuf_2,	 
    											manuf_3 = $manuf_3, 
    										 	manuf_4 = $manuf_4,
    										 	manuf_5 = $manuf_5,
    										 	part_number1 = $part_number1,
    										 	part_number2 = $part_number2,
    										 	part_number3 = $part_number3,
    										 	part_number4 = $part_number4,
    										 	part_number5 = $part_number5,
    										 	part_description1 = $part_description1, 
    		 									part_description2 = $part_description2, 
    		 									part_description3 = $part_description3, 
    											part_description4 = $part_description4,
    		 									part_description5 = $part_description5, 
    		 									part_price1 = $part_price1, 
    		 									part_price2 = $part_price2, 
    		 									part_price3 = $part_price3, 
    		 									part_price4 = $part_price4, 
    		 									part_price5 = $part_price5,
    		 									price_extension1 = $price_extension1, 
    		 									price_extension2 = $price_extension2, 
    		 									price_extension3 = $price_extension3, 
    		 									price_extension4 = $price_extension4, 
    		 									price_extension5 = $price_extension5, 
    		 									material_total = $material_total, 
    		 									sales_tax = $sales_tax, 
    		 									shipping_cost = $shipping_cost, 
    		 									work_date1 = $work_date1,
    		 									work_date2 = $work_date2, 	
    											work_date3 = $work_date3, 
    		 									work_date4 = $work_date4, 
    		 									work_date5 = $work_date5, 
    		 									tech_name1 = $tech_name1, 
    		 									tech_name2 = $tech_name2, 
    		 									tech_name3 = $tech_name3, 
    		 									tech_name4 = $tech_name4, 
    		 									tech_name5 = $tech_name5, 
    											cost_code1 = $cost_code1, 
    		 									cost_code2 = $cost_code2, 
    		 									cost_code3 = $cost_code3, 
    		 									cost_code4 = $cost_code4, 
    		 									cost_code5 = $cost_code5, 
    		 									pay_rate1 = $pay_rate1, 
    		 									pay_rate2 = $pay_rate2, 
    		 									pay_rate3 = $pay_rate3, 
    		 									pay_rate4 = $pay_rate4,
    		 									pay_rate5 = $pay_rate5, 
    		 									total_hours1 = $total_hours1, 
    		 									total_hours2 = $total_hours2, 
    		 									total_hours3 = $total_hours3, 
    		 									total_hours4 = $total_hours4, 
    		 									total_hours5 = $total_hours5, 
    		 									hours_subtotal1 = $hours_subtotal1, 
    		 									hours_subtotal2 = $hours_subtotal2, 
    		 									hours_subtotal3 = $hours_subtotal3, 
    		 									hours_subtotal4 = $hours_subtotal4, 
    		 									hours_subtotal5 = $hours_subtotal5, 
    		 									total_hours = $total_hours, 
    		 									material_total = $material_total, 
    		 									labor_cost = $labor_cost, 
    		 									grand_total = $grand_total	WHERE `id` = '$id'"); 
    	 
    	
    
     
    	mysql_affected_rows();
    	
    	echo mysql_error();
    	
    	?>
    I started this out with apostrophe's around my values then was told I needed back ticks then was told I don't need anything around them at all. Frankly I just want the code to work, I ran a small test script using this code:

    Code:
    <?php
    
    include 'db_connect.php';
    
    $city=$_POST['city'];
    $state=$_POST['state'];
    $zip=$_POST['zip'];
    $id=$_POST['id'];
    
    
    
    
     mysql_query("UPDATE `test` SET      `city` = '$city', `state` = '$state', `zip` = '$zip' WHERE `id` = '$id'");
    
    
    
    ?>
    and it works fine but when I apply the above code to the code posted above this code all I get is an error stating

    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 ' item_qty1 = , item_qty2 = , item_qty3 = ' at line 1

    I did get the form to work 1 time but it required me to put a value in every field which I don't want to do but after that one time it hasn't worked since.

  2. #2
    Join Date
    May 2013
    Posts
    10

    updated code

    so I've played around with it some more and minimized my values down to single values, no duplicates such as part_number1, part_number2, part_number3 and so on and here is the code I'm testing with now,

    Code:
    mysql_query("UPDATE `tickets` SET 	`work_performed` = '$work_performed',
    										 	`item_qty1` = '$item_qty1',
    										 	`manuf_1` = '$manuf_1', 
    										 	`part_number1` = '$part_number1',
    										 	`part_description1` = '$part_description1', 
    		 									`part_price1` = '$part_price1', 
    		 									`price_extension1` = '$price_extension1', 
    		 									`material_total` = '$material_total', 
    		 									`sales_tax` = '$sales_tax', 
    		 									`shipping_cost` = '$shipping_cost', 
    		 									`work_date1` = '$work_date1',
    		 									`tech_name1` = '$tech_name1', 
    		 									`cost_code1` = '$cost_code1', 
    		 									`pay_rate1` = '$pay_rate1', 
    		 									`total_hours1` = '$total_hours1', 
    		 									`hours_subtotal1` = '$hours_subtotal1', 
    		 									`total_hours` = '$total_hours', 
    		 									`material_total` = '$material_total', 
    		 									`labor_cost` = '$labor_cost', 
    		 									`grand_total` = '$grand_total'	WHERE `id` = '$id'");
    This version of code actually works but as soon as I add a second value such as item_qty2, part_number2 the code displays a syntax error. Any suggestions?

  3. #3
    Join Date
    May 2013
    Location
    Surendranagar Gujarat India
    Posts
    55
    UPDATE table_name
    SET column1=value1,column2=value2,...
    WHERE some_column=some_value;

    Kishor Makwana
    Software Engineer
    Insight Softech
    www.insightsoftech.com

  4. #4
    Join Date
    May 2013
    Posts
    10
    that's what my code already say's UPDATE tickets SET work_performed=$work_performed, etc etc etc

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles