Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php '中的未知列;字段列表';MySQL更新查询出错_Php_Mysql_Sql_Mysql Error 1054 - Fatal编程技术网

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)."')";