我这样做是为了创建一个SQL用户帐户,并且授予权限,创建工作正常,但是当我批准部分时,它就失败了。
更新:现在它不会抛出错误,但它不会授予权限,混淆错误,语法正确,一切。
代码:
$query = $this->ci->db->query("GRANT ALL PRIVILEGES ON ".$db_add." TO '".$username."'@'localhost' WITH GRANT OPTION;");
答案 0 :(得分:0)
如果您的对象名称合理并且不需要引用或转义,则不使用单引号引用数据库对象,使用反引号或不使用反引号。
此外,您需要指定数据库中的哪些对象,或*
指定所有对象。
此外,除非您真的是这样做,否则不要授予ALL
或WITH GRANT OPTION
。
此外,几乎可以肯定不会因任何原因自动创建具有此特权的帐户。
另外,虽然以下形式在语法上是正确的......
GRANT ALL PRIVILEGES ON `the_database`.* to 'leethaxor'@'localhost';
...如果您还没有创建用户,那么您只是授予任何可以从指定主机猜测该用户名的人的访问权限,因为密码为空。第一笔赠款应该包括......
... IDENTIFIED BY 'a_password' ...