Сам запросс должен создать юзера с такими та провами, именем, паролем и создать ему базу.
Код:
$sql = "CREATE USER '$userlogin'@'localhost' IDENTIFIED BY '$userpass';GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, FILE, INDEX, ALTER, CREATE TEMPORARY TABLES, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EXECUTE ON *.* TO '$userlogin'@'$host' IDENTIFIED BY '$userpass' 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 `$userlogin`;GRANT ALL PRIVILEGES ON `$userlogin`.* TO '$userlogin'@'localhost';";
Проблема в том что из скрипта юзера создать не могу сообщяет ошибку
Код:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, FILE, INDEX, ALTER, CREATE ' at line 1
Хотя phpMyAdmin с тойже ошибкой умудряется создать пользователя!
Помогите пожалуйста с запросом.
А то первый раз работаю с SQL. _________________ Скрипты [PHP/JS] на заказ, в ЛС, недорого.
Обязательно первый раз работая с SQL ставить себе задачи повышенной сложности?.. _________________ До выхода LiteDiary 0.3.0:парам-пам-пам-пам! Она уже здесь!
CREATE USER '$userlogin'@'localhost' IDENTIFIED BY '$userpass';
CREATE DATABASE IF NOT EXISTS `$userlogin`;
GRANT ALL PRIVILEGES ON `$userlogin`.* TO '$userlogin'@'localhost';
_________________ NextStage - live music competition
Сам запросс должен создать юзера с такими та провами, именем, паролем и создать ему базу.
Код:
$sql = "CREATE USER '$userlogin'@'localhost' IDENTIFIED BY '$userpass';GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, FILE, INDEX, ALTER, CREATE TEMPORARY TABLES, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EXECUTE ON *.* TO '$userlogin'@'$host' IDENTIFIED BY '$userpass' 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 `$userlogin`;GRANT ALL PRIVILEGES ON `$userlogin`.* TO '$userlogin'@'localhost';";
Проблема в том что из скрипта юзера создать не могу сообщяет ошибку
Код:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, FILE, INDEX, ALTER, CREATE ' at line 1
Хотя phpMyAdmin с тойже ошибкой умудряется создать пользователя!
Помогите пожалуйста с запросом.
А то первый раз работаю с SQL.
Ну во первых пользователя вы создали, ошибка во втором запросе где назначаются права, имхо в четвертом права также назначаются поэтому phpMyAdmin проигноривов второй запрос создает поьзоватея, рекомендую написать так тестовый вариант:
Код:
$sql = "CREATE USER '$userlogin'@'localhost' IDENTIFIED BY '$userpass';";
echo $sql;
... вызов запроса
$sql = "GRANT ALL ON *.* TO '$userlogin'@'$host' IDENTIFIED BY '$userpass'";
echo $sql;
... вызов запроса
$sql = "CREATE DATABASE IF NOT EXISTS `$userlogin`;";
echo $sql;
... вызов запроса
$sql = "GRANT ALL PRIVILEGES ON `$userlogin`.* TO '$userlogin'@'localhost';";
echo $sql;
... вызов запроса
Вниательно посмотрите какие запросы выводятся, так как возможно они выглядят совсем не так как надо + где произойдет ошибка. Потом когда будет оттестирован можно добавлять и изменять запрос, кстати не понял зачем вы дважды делаете GRANT привлелегий: один раз с $userlogin'@'$host, второй $userlogin'@'localhost, что то у меня есть чувство что переменная $host вообще у вас не определена по крайне мере зачем нужен второй запрос я так и не понял и почему тогда не написать тоже localhost. Вам точно в первом запросе нужно назначить права пользователю на ВСЕ базы данных?
Вообще 90% проблем с SQL решается выводом текста запроса на экран, как правило оказывается что запрос неправильно сформирован. _________________ Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)
Самое простое как сказал прогоните скрипт выводящий тела запросов на экран и скопируйте сюда реальные запросы без переменных типа $host и в какой момент возникла ошибка. _________________ Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)
mysql_query() sends an unique query (multiple queries are not supported) to the currently active database on the server that's associated with the specified link_identifier .
<?php
require_once('../settings.php');
$userlogin = $_POST ["login"];
$userpass = $_POST ["pass"];
$link = mysql_connect ($host, $user, $password);
$sql = "CREATE USER '$userlogin'@'localhost' IDENTIFIED BY '$userpass';
CREATE DATABASE IF NOT EXISTS `$userlogin`;
GRANT ALL PRIVILEGES ON `$userlogin`.* TO '$userlogin'@'localhost'";
echo $sql;
if (mysql_query ($sql, $link))
{
echo "База создона<br>Логин к MySQL <b>$userlogin</b><br>Пароль к MySQL <b>$userpass</b><br>";
} else { echo mysql_error();
}
if (mkdir ($userlogin,0700))
{
echo "Директория пользоваьеля создона<br>";
} else { echo "<b>ОШИБКА!</b> Создать директорию не удалось возможна она уже существует!<br>";
}
?>
_________________ Скрипты [PHP/JS] на заказ, в ЛС, недорого.
Кстати, интересное западло по поводу приведенной цитаты: в русской версии мануала про это ничего не сказано. _________________ Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator] phpBB3 [Russian] Антисоциальный блог
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\firecoreblog\administrator\createcontent.php on line 48