不确定我在这里做错了什么,但我希望在db中添加一行,但只有当该行没有使用该电子邮件地址退出时,请参阅下面的代码:
function register_user() {
global $wpdb;
$tablename = $wpdb->prefix."tablename";
$name = $_POST[\'name\'];
$email = $_POST[\'email\'];
$password = $_POST[\'password\'];
$checkIfExists = $wpdb->get_results("SELECT COUNT(*) FROM tablename WHERE email = $email");
$checkRows = mysqli_num_rows($checkIfExists);
if ($checkRows > 0) {
header(\'Location: ../register.php?\');
}
else{
$options = [
\'cost\' => 11,
];
$passwordFromPost = $_POST[\'password\'];
$hash = password_hash($passwordFromPost, PASSWORD_BCRYPT, $options);
$table_name = $wpdb->prefix . "tablename";
$wpdb->insert($table_name, array(
\'name\' => $name,
\'email\' => $email,
\'password\' => $hash
),array(
\'%s\',
\'%s\',
\'%s\')
);
}
尽管数据库中有电子邮件,但似乎只是我通过了if,直接转到了else。