我正在为数据库添加新的电子邮件地址。 当我使用
检查用户是否存在时if (!($stmt = $dbConnection->prepare('SELECT `email_addr` FROM '.TABLE_NAME.' WHERE `email_addr` = ?')))`
一切正常。
当我尝试运行时
if (!($stmt = $dbConnection->prepare('INSERT INTO '.TABLE_NAME.'(`email_addr`,`date_subscribed`,`act_code`,`subscribe_ip`) VALUES (?,?,?,?)' )))
我收到错误Unknown column 'email_addr' in 'field list'
。我已经搜索了很多,并认为可能添加反引号可以解决问题,但事实并非如此。如果您需要更多代码,请告诉我们。
解决:常数中有一个拼写错误。感谢大家告诉我在PHPmyadmin中运行查询,这让我发现了问题。
答案 0 :(得分:1)
Unknown column 'email_addr' in 'field list'
此错误表示您正在引用不存在的列名。检查您的表以确保该列名是正确的,并确保您在查询中使用了正确的变量。
尝试从您尝试插入的列中删除“`”:
(email_addr, date_subscribed, act_code, subscribe_ip)
此外,尝试回显查询并直接在phpMyAdmin中运行它以查看结果。可能存在您不知道的格式问题。
答案 1 :(得分:1)
写
echo 'SELECT `email_addr` FROM '.WPINSTALL_TABLE_NAME.' WHERE `email_addr` = ?'
然后查看您的SQL代码,然后直接在PHPMyAdmin控制台中尝试SQL代码并告诉我们答案是什么......
答案 2 :(得分:0)
也许在这里添加空间
[space](`email_addr`...)