Создать пользователя с подготовленным оператором MySQLi - PullRequest
2 голосов
/ 31 августа 2011

У меня есть скрипт, использующий PHP и MySQLi с подготовленными утверждениями. Цель состоит в том, чтобы создать нового пользователя на сервере MySQL, однако подготовка оператора завершается сбоем без дополнительной информации о том, почему.

$query = 'CREATE USER ?@`10.1.1.%` IDENTIFIED BY ?;';

if ($stmt = $newdb->prepare($query)) {
$stmt->bind_param('ss', $db_username, $db_password);

    if ($stmt->execute()) {
    // Database user created successfully
    } else {
    die(errorJSON('db', 'create', 22));
}

$stmt->close();
} else {
    die(errorJSON('db', 'create', 3));
}

Есть идеи, почему проповедовать это утверждение не удастся?

Спасибо.

1 Ответ

1 голос
/ 31 августа 2011

Вы должны напечатать $stmt->error (и, возможно, $stmt->errno) при проверке успешности / неудачи ваших запросов. Например:

if ($stmt->execute()) {
        // Database user created successfully
    } else {
        errorJSON('db', 'create', 22)
        die($stmt->error);
    }

Вышеприведенный пример - довольно плохой пример - скорее всего, я испортил саму логику ваших сообщений об ошибках - но именно так вы можете извлечь ошибку и распечатать / зарегистрировать ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...