[英]MySQL can't see column in PHP. Ok as SQL statement
我正在尝试使用以下插入:
mysql_query ("INSERT INTO users (company_name, fname, lname, salt, email, date_added, password)
VALUES ('$CompanyName', '$fname', '$lname', '$salt', '$email', '$mysqldate', '$encrypted')")
or die(mysql_error());
但是我得到一个错误:
Unknown column 'company_name' in 'field list'
如果我回显查询,则将其粘贴为SQL语句并运行它,它将执行插入操作。 所有字段都存在,并且,正如我所说,如果我回显结果,它将很好地工作。
我看到您在$ CompanyName变量中混合了大小写。 您的MySQL专栏是否也可能采用大小写混合的标题? 也许是“公司名称”或“公司名称”?
为什么将变量括在单引号中? PHP将把它们读为字符串。 将它们用双引号引起来。 但是我不明白为什么会出现这个错误。 如何使用table_name.column_name而不是column_name呢?
我认为您的查询没有任何问题,如果它与架构匹配,则应该可以正常工作。 无论如何,请尝试转义表和字段名称,以下是修改后的查询:
msql_query ("INSERT INTO `users` (`company_name`, `fname`, `lname`, `salt`, `email`, `date_added`, `password`)
VALUES ('$CompanyName', '$fname', '$lname', '$salt', '$email', '$mysqldate', '$encrypted')")
or die(mysql_error());
尝试
mysql_query ("INSERT INTO users (fname, lname, salt, email, date_added, password)
VALUES ('$fname', '$lname', '$salt', '$email', '$mysqldate', '$encrypted')")
or die(mysql_error())
如果问题仍然存在,则说明您的连接或users
表存在问题。
只是一个盲目的猜测...您确定mysql_query语句像“ echo”那样用实际的变量值替换了占位符吗? 尝试:
mysql_query ("INSERT INTO users (company_name, fname, lname, salt, email, date_added, password)
VALUES ('" . $CompanyName . "', '" . $fname . "', '" . $lname . "', '" . $salt. "', '" . $email . "', '" . $mysqldate . "', '" . $encrypted . "')")
or die(mysql_error());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.