【发布时间】:2011-08-31 13:59:18
【问题描述】:
我有一个使用 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));
}
任何想法为什么执行此语句会失败?
谢谢。
【问题讨论】:
-
请包含来自 mysql 的错误 -- php.net/manual/en/mysqli.error.php
-
嗨!你能给我们更多的信息:这个脚本在哪里失败了?什么是错误类型(php 或 mysql)?失败后回显 $stmt->error 会得到什么?
-
我遇到了完全相同的问题,准备该语句失败,我不知道,为什么:mysql> PREPARE stmt1 FROM 'CREATE USER ?由 ?' 识别; ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 '? 附近使用的正确语法。由?在第 1 行
标签: php mysqli prepared-statement