MySQL语法错误 - 我哪里出错了?

时间:2015-03-23 21:18:54

标签: php mysql

我这样做是为了创建一个SQL用户帐户,并且授予权限,创建工作正常,但是当我批准部分时,它就失败了。

更新:现在它不会抛出错误,但它不会授予权限,混淆错误,语法正确,一切。

代码:

$query = $this->ci->db->query("GRANT ALL PRIVILEGES ON ".$db_add." TO '".$username."'@'localhost' WITH GRANT OPTION;");

1 个答案:

答案 0 :(得分:0)

如果您的对象名称合理并且不需要引用或转义,则不使用单引号引用数据库对象,使用反引号或不使用反引号。

此外,您需要指定数据库中的哪些对象,或*指定所有对象。

此外,除非您真的是这样做,否则不要授予ALLWITH GRANT OPTION

此外,几乎可以肯定不会因任何原因自动创建具有此特权的帐户。

另外,虽然以下形式在语法上是正确的......

GRANT ALL PRIVILEGES ON `the_database`.* to 'leethaxor'@'localhost';

...如果您还没有创建用户,那么您只是授予任何可以从指定主机猜测该用户名的人的访问权限,因为密码为空。第一笔赠款应该包括......

... IDENTIFIED BY 'a_password' ...

http://dev.mysql.com/doc/refman/5.6/en/grant.html