0

我正在使用 POP PHP 框架 ( http://www.popphp.org/ )。我正在尝试编写一个准备好的语句来检查数据库中是否已经存在电子邮件地址。

挖掘手册我找不到任何关于如何将文本字符串与数据库中的结果进行比较的示例,只有数字。要做到这一点并不难,就像:

$sql->select()->where()->greaterThanOrEqualTo('id', '?');

但是比较是否存在电子邮件地址,我找不到解决方案。下面是我不完整的代码。第 6 行是我尝试进行比较的地方。没有错误,因为它不受支持。邮件地址存在于数据库中,因此没有任何问题。

// Check if user already exists
$db = Db::factory($this->type, $this->creds);

// Create a prepared statement
$sql = new Sql($db, 'user');
$sql->select()->where()->like('email', '?');

// Prepare the statement, bind the parameters and execute
$db->adapter()->prepare('email', '?');
$db->adapter()->bindParams(array('email' => $post['email']));
$db->adapter()->execute();


print_r($db->adapter()->fetch());


if($db->adapter()->fetch() != false)
{
    $error['userExists'] = "User exists";
    echo "Exists";
}

我该怎么做才能完成此代码?

4

1 回答 1

0

我不知道 POPPHP,但在检查API时,您正在寻找的似乎是Pop\Db\Sql\Predicate::equalTo($column, $value, $combine),例如:

$sql->select()->where()->equalTo('email', '?');
于 2013-03-10T14:51:26.097 回答