【发布时间】:2016-09-19 01:54:21
【问题描述】:
我正在尝试查询 SQLite3 数据库(准备构建一个基于 perl 的网页,并为大学作业提供身份验证)。我遇到的问题是数据库在尝试通过电子邮件地址查询时返回空结果,该电子邮件地址也是该数据库的用户名。
查询如下:
my $sql = "SELECT * FROM accounts WHERE email_address = 'xxxxx@xxxxx.xxxxx.edu.au'";
my $sth = $dbh->prepare( $sql ) or die( "Can't prepare: " . $dbh->errstr() );
$sth->execute() or die( "Can't execute: " . $sth->errstr() );
my @row;
while( @row = $sth->fetchrow_array() )
{
print join( q/, /, @row ), "\n";
}
这会打印出一个空结果。然而,如果我要通过数据库上的 first_name 或 last_name 字段进行查询,我就能够将数据打印出来。
电子邮件地址格式如下:xxx@xxx.xxx.edu.au
数据库结构如下:
accounts(
email_address VARCHAR(50) PRIMARY KEY,
last_name VARCHAR(30) NOT NULL,
first_name VARCHAR(30) NOT NULL,
password VARCHAR(100) NOT NULL,
pass_salt VARCHAR(10) NOT NULL,
account_balance DOUBLE
);
任何人都可以提供任何建议将不胜感激!
【问题讨论】: