<?php
$user = substr(md5(rand()),0,16);
$pass = substr(md5(rand()),0,20);
$query = "CREATE USER '{$user}'@'%' IDENTIFIED BY '{$pass}';
GRANT USAGE ON * . * TO '{$user}'@'%' IDENTIFIED BY '{$pass}' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREATE DATABASE IF NOT EXISTS `{$user}`;
GRANT ALL PRIVILEGES ON `{$user}` . * TO '{$user}'@'%';";
mysql_connect("***.****.info", "***", "****") or die(mysql_error());
mysql_query($query) or die(mysql_error());
?>您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以获得在第1行的'4fa70f7cc25ccf9dc9dd‘识别的接近“GRANT use ON *.*”到'78eb50407b017587'@'%’的正确语法。
任何人都知道这里发生了什么
我删除了更新,但是它什么也没做。还有其他建议吗?
发布于 2012-06-20 03:42:41
查询()不支持多个查询。一个一个地进行查询。
mysql_connect("***.****.info", "***", "****") or die(mysql_error());
$query1 = "CREATE USER '{$user}'@'%' IDENTIFIED BY '{$pass}';";
$query2 = "GRANT USAGE ON * . * TO '{$user}'@'%' IDENTIFIED BY '{$pass}' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;";
$query3 = "CREATE DATABASE IF NOT EXISTS `{$user}`;";
$query4 = "GRANT ALL PRIVILEGES ON `{$user}` . * TO '{$user}'@'%';";
mysql_query($query1) or die(mysql_error());
mysql_query($query2) or die(mysql_error());
mysql_query($query3) or die(mysql_error());
mysql_query($query4) or die(mysql_error());但是,考虑到查询的结构,我建议您执行事务查询。你可以读到更多关于它的信息,在这里:
https://stackoverflow.com/questions/11112457
复制相似问题