【问题标题】:MySQLi error when insertingMySQLi 插入时出错
【发布时间】:2011-03-09 19:39:39
【问题描述】:

我有问题。当我想从 php 插入 mysql 表时,它不起作用,它会写一个错误

Unknown column 'pass' in 'field list'

我尝试通过 php 删除并创建整个表,它可以工作。

当我在 phpMyAdmin 中尝试相同的查询时,它可以工作。

我的php是

$sql = "INSERT INTO users(login,name,surname,pass,city,street,email,cardnr,zip,phone) VALUES('".$login."','".$name."','".$surname."','".$pass."','".$city."','".$street."','".$mail."','".$card."','".$zip."','".$phone."')";
$this->link->query($sql);

请帮助我,谢谢,对不起我的英语

【问题讨论】:

  • 您的查询乍一看没有问题。但是 PHPMYAdmin 在执行之前确实会更改一些查询,您可以发布 PHPMyAdmin 执行的内容吗? (它在结果屏幕上方)
  • 您似乎正在使用框架。如果是这样,为什么要写出查询而不是使用框架为您提供的用于数据库交互的接口?
  • 也许您正在使用另一个数据库,其中该列不存在,在您的 php 代码中。
  • php echoed query INSERT INTO users(login,name,surname,pass,city,street,email,cardnr,zip,phone) VALUES('test','test','test',' 70c881d4a26984ddce795f6f71817c9cf4480e79','test','abcd 12','test@test.test','123456789012','01234','0123456789') 和 phpmyadmin 执行查询 INSERT INTO users( login, name, surname, pass, city,街道,电子邮件,cardnr,zip,电话)值('test','test','test','70c881d4a26984ddce795f6f71817c9cf4480e79','test','abcd 12','test@test.test','123456789012',' 01234', '0123456789' ) 数据库是正确的,我不使用框架
  • 好的,我尝试删除并创建整个表和 php,它可以工作。感谢大家尝试帮助

标签: php insert mysqli


【解决方案1】:

您的表 users 不包含 pass 列。

错误信息是不言自明的,您应该检查列名的拼写。

否则,您确定您正在使用 PHPMyAdmin 和您的 PHP 代码处理同一个数据库吗?

【讨论】:

  • 是的。而且我已经写过相同的查询在 phpmyadmin 中有效
  • 我已经稍微更新了我的答案,不,消息对此非常清楚,您的表中没有pass 列。
  • 是的,我正在使用同一个数据库,并且该列确实存在于该表中。我已经从 phpmyadmin 复制了列的名称并粘贴到我的 php 中,所以它就在那里
  • 好的,告诉 MySQL 别再撒谎了,一切都会正常的 :)
  • 尝试在您的应用程序上打印表格的描述。 DESC users;
【解决方案2】:

尝试用`(backtik)封装所有字段名称

【讨论】:

  • 这真的是评论,而不是问题的答案。请使用“添加评论”为作者留下反馈。
  • @Thor - 如果有的话,我会给一个“掘墓人”徽章。这是很久以前的事了。除了。我写它的方式看起来像是一个建议,但实际上它是答案......在这种情况下,欢迎您编辑它。
猜你喜欢
  • 2023-03-04
  • 1970-01-01
  • 2017-04-10
  • 2013-05-17
  • 2012-08-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多