Php '中的未知列;字段列表';MySQL更新查询出错
我重复了下面的查询:(查询是安全的)Php '中的未知列;字段列表';MySQL更新查询出错,php,mysql,sql,mysql-error-1054,Php,Mysql,Sql,Mysql Error 1054,我重复了下面的查询:(查询是安全的) 更新otelozellik 设置isim_tr='test', aciklama_tr='test1', uyari_tr='test', tag_tr='test' 其中id='1' 数据库错误:未知列 “字段列表”中的“aciklama_tr” 我更改了列的顺序,isim\u tr之后的列不断给出错误。当我将isim\u tr移动到最后一个,然后移动id之后的一个,给出相同的错误。但将它们移动到最后一个位置对我来说不是一个解决方案,因为表将是动态的,以
更新otelozellik
设置isim_tr='test',
aciklama_tr='test1',
uyari_tr='test',
tag_tr='test'
其中id='1'
数据库错误:未知列
“字段列表”中的“aciklama_tr”
我更改了列的顺序,isim\u tr
之后的列不断给出错误。当我将isim\u tr
移动到最后一个,然后移动id
之后的一个,给出相同的错误。但将它们移动到最后一个位置对我来说不是一个解决方案,因为表将是动态的,以便在必要时添加新的列。我们需要一个绝对的解决方案
更新:最新截图:
解决了。答案如下。谢谢大家。当您尝试将数据加载到不存在的字段时,会导致“字段列表”错误。仔细检查字段名拼写是否正确 你的帖子说你需要添加“动态列”。一个结构合理的数据库不应该需要这种东西。但是,如果确实希望从php添加列,则需要在尝试在这些字段中插入数据之前将它们添加到表中。您可以使用ALTERTABLE语句执行此操作:
ALTER TABLE\u name
添加列名称数据类型
只是为了再次检查您使用的是标准ASCII字符还是使用的是不寻常的字符集
尝试使用phpMyAdmin或类似工具将数据插入表中-如果可以,请复制它生成的代码,并使用mysql客户端自行运行
假设仍然有效,将生成的代码与PHP生成的SQL进行比较,问题就解决了。非常感谢大家的帮助 解决方案的正确查询是:
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
UPDATE`holidaycholic`.`otelbilgi`SET`otelbilgi`.`isim\u tr`='test2',`otelbilgi`.`aciklama\u tr`='test2,`otelbilgi`.`uyari\u tr`='test2',`otelbilgi tag tr`='test2','otelbilgi id`=1
不知道为什么,但这对我来说是有效的。以下是一直适用于我的语法:
"INSERT INTO table(`code`, `description`) VALUES ('".mysql_real_escape_string($code)."', '".mysql_real_escape_string($description)."')";
“table”是一个具有自动递增索引的表。现在的表结构是什么?这很奇怪。看起来一切正常。唯一奇怪的是where子句,其中id='1'。我会把它写成id=1的地方,但我不知道这意味着什么。你可以尝试
替换成。如果错误是由于WHERE子句和id=11不匹配而导致的,则可能会有所帮助。这似乎是正确的。检查你的表名,以防万一。你没看他贴的图片吗?我想他指的是动态列,就像“动态构建查询以仅设置某些列”一样@dqhendricks不知道我怎么错过了截图。我想我被难住了。动态列不是一件重要的事情。当我想添加更多语言时,我将添加新列。此外,根据字段自动生成查询。这里的最新屏幕截图:我的角色集是“utf8\U general\U ci”,添加新项目都可以通过我的脚本或phpmyadmin工作。我只是不能通过我的脚本更新它们,我现在会尝试通过phpmyadmin更新。我可以看到屏幕截图是phpmyadmin,但他没有说明它是否有效,您是对的,这是一个更新,而不是一个插入-我没有注意到您显式指定了模式-您的表定义似乎有点不正确…因为您删除了where子句id中的引号。
"INSERT INTO table(`code`, `description`) VALUES ('".mysql_real_escape_string($code)."', '".mysql_real_escape_string($description)."')";