2012-07-11 93 views
-2

我正在给数据库添加一个新的电子邮件地址。 当我检查用户是否存在使用这个mysqli查询有什么问题?

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中运行查询,这让我发现了这个问题。

+1

你能后的表模式? – 2012-07-11 21:56:53

+1

发布更多验证码。 – RobB 2012-07-11 21:59:49

+2

@Lion:如果它不变,就不会。 – 2012-07-11 21:59:52

回答

1
Unknown column 'email_addr' in 'field list' 

增加空间这个错误表示您引用不存在的列名。查看您的表格以确保这是适当的列名称,并确保您在查询中使用了正确的变量。

尝试删除“`”从你想插入列:

(email_addr, date_subscribed, act_code, subscribe_ip) 

另外,尝试呼应的查询,并直接在phpMyAdmin运行它看到的结果。您的格式可能存在问题,您不知道。

+0

是的,谢谢你,但是这个列确实存在,并且它成功用于脚本的另一个查询。 – fdsa 2012-07-11 21:59:06

+1

@fdsa请张贴额外的代码,然后作为代码片段不允许任何洞察你的问题。 – RobB 2012-07-11 22:00:45

+0

我更新了问题。让我知道你是否需要其他信息。 – fdsa 2012-07-11 22:04:51

0

也许这里

[space](`email_addr`...) 
+0

我试着玩弄间距,不起作用。 – fdsa 2012-07-11 22:00:44

1

echo 'SELECT `email_addr` FROM '.WPINSTALL_TABLE_NAME.' WHERE `email_addr` = ?' 

,然后看到那么你的SQL代码QND直接尝试你的SQL代码在phpMyAdmin的控制台,并告诉我们,答案是什么?

+0

查看关于问题的最新评论 – fdsa 2012-07-11 22:36:30