Mustafa
Mustafa

Reputation: 825

Unknown column in 'field list' error on MySQL Update query

i echoed the query below: (query is safe)

UPDATE otelozellik 
   SET isim_tr='test', 
       aciklama_tr='<p>test1</p>', 
       uyari_tr='test', 
       tag_tr='test' 
 WHERE id='1'

Database Error: Unknown column 'aciklama_tr' in 'field list'

I changed the order of columns, the one after isim_tr keeps giving error. When I move isim_tr to the last then the one after id giving the same error. But moving them to the last position is not a solution for me because table will be dynamic to add new columns when necessary. need an absolute solution.

UPDATE: LATEST SCREENSHOT: http://img5.imageshack.us/img5/7215/mysqlerror.jpg

Solved. Solution is answered below. Thanks everyone.

Upvotes: 3

Views: 28689

Answers (4)

Youssef
Youssef

Reputation: 3114

Here is the syntax which works for me all time:

 "INSERT INTO table(`code`, `description`) VALUES ('".mysql_real_escape_string($code)."', '".mysql_real_escape_string($description)."')";

"table" is a table with an AUTO_INCREMENT index.

Upvotes: 0

Mustafa
Mustafa

Reputation: 825

Problem is solved. Thank you a lot everyone for their help.

Right Query for solution is:

UPDATE `holidaycholic`.`otelbilgi` SET `otelbilgi`.`isim_tr`='test2', `otelbilgi`.`aciklama_tr`='<p>test2</p>', `otelbilgi`.`uyari_tr`='test2', `otelbilgi`.`tag_tr`='test2' WHERE `otelbilgi`.`id`=1

No idea why but that worked for me.

Upvotes: 1

Basic
Basic

Reputation: 26766

Just to double-check are all the characters you're using the standard ASCII characters or are you using an unusual character set?

Try inserting data into the table using phpMyAdmin or similar - If it works, copy the code it generates and run it yourself using the mysql client.

Assuming that still works, compare the generated code with the SQL generated by your PHP

Upvotes: 0

MrGlass
MrGlass

Reputation: 9262

'field list' errors are caused when you try to load data into a field that doesn't exist. Double check that you spelled your field names correctly.

Your post says that you need to add "dynamic columns". A properly structured database shouldn't have a need for that sort of thing. However, if you do want to add columns from php, you need to add them to the table before you try to insert data in those fields. You can use the ALTER TABLE statement to do this:
ALTER TABLE table_name ADD column_name datatype

Upvotes: 0

Related Questions