【问题标题】:mysql error (Column count doesn't match value count at row 1) [duplicate]mysql错误(列数与第1行的值计数不匹配)[重复]
【发布时间】:2015-06-12 08:16:19
【问题描述】:

我有 SQL 语法:

$input = mysql_query("INSERT INTO member (id_member, fullname, username, password, email, phone, ktp, address) VALUES ('$idm', '$fullname','$username', '$password', '$email', '$phone', '$ktp', '$address')") or die ("Error..".mysql_error());

当我运行此代码时,我遇到了这样的错误(列与第 1 行的值计数不匹配)。

【问题讨论】:

  • $address 可能在字符串中有单引号,所以最好开始使用准备好的语句。
  • 你能编辑你的问题并显示所有 8 个变量的值吗?
  • 你能把这个语句回显出来并移植结果吗?看起来你的变量中有一个“,”。
  • 停止使用已弃用的mysql_* API。使用 mysqli_*或 PDO 和准备好的语句。
  • 谢谢,问题解决了……

标签: php mysql


【解决方案1】:

单引号'' 不解析变量,而是按原样发送内部的任何内容,因此基本上您插入一个值为$idm 的字符串本身而不是其值。所以你需要的是从字符串中取出变量。

$input = mysql_query("INSERT INTO member (id_member, fullname, username, password, email, phone, ktp, address) VALUES ('".$idm."', '".$fullname."','".$username."', '".$password."', '".$email".', '".$phone."', '".$ktp."', '".$address."')") or die ("Error..".mysql_error());

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-08
  • 1970-01-01
相关资源
最近更新 更多