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 に答える