Ошибка подключения к БД или неправильный сервак?

Статус
В этой теме нельзя размещать новые ответы.
Кривой - Так вот и пытаюсь выпрямить.
Как бы эту ошибку исправить?
 
Заведи юзера с паролем или удали проверку на заполнение пароля.
 
Заведи юзера с паролем или удали проверку на заполнение пароля.
Заводил уже.
логин: root2
пароль: root
УСТАНОВИЛСЯ БЕЗ ОШИБОК!
86939026c354.jpg

Но, таблицы в БД так и не создались!! ((
54e4d4f5bd0d.jpg
 
Выброси эту фигню, ща полистал файлы и сразу phpDesigner выделил несколько строк с синтаксическими ошибками.
 
Выброси эту фигню, ща полистал файлы и сразу phpDesigner выделил несколько строк с синтаксическими ошибками.

C нуля писать что ли?
Это еще дольше будет наверно.
 
может пробела нет после комента. Например так: // коментарий.
А у вас: //коментарий.
Сам попал на такое однажды.

А вообще если после прохода дзенддом появляются ошибки, то проблем в синтаксисе.

Попробуй протестировать на простом примерчике. типа
PHP:
<?php
echo 'string1';
// коментарий 1
echo 'string2';
//коментарий 2
echo 'string3';
?>

Добавлено через 3 минуты
И еще. Если подключение к БД происходит нормально, тогда надо смотреть в сторону прав на создание таблиц пользователем. Попробуйте создать таблицу в ручном режиме через вкладку "SQL".
 
Чтоб под рутом и с пустым паролем:

PHP:
if ( !empty( $_POST['host_bd'] ) & !empty( $_POST['login_bd'] ) & !empty( $_POST['password_bd'] ) )

замени на

PHP:
if ( !empty( $_POST['host_bd'] ) & !empty( $_POST['login_bd'] ) )
 
попробуй с таким кодом:
PHP:
<?php 
//error_reporting( 0 ); // запрещает показ ошибок 
error_reporting(E_ALL); // показать все ошибки 
$inst = $_GET['inst']; 
echo "<?xml version=\\\"1.0\\\" encoding=\\\"windows-1251\\\"?\".\">\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"admin/style.css\">\r\n<head>\r\n<title>Установка скрипта \"Многофункциональный редирект\"</title>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\" />"; 
if ( eregi( "msie", $_SERVER['HTTP_USER_AGENT'] ) ) 
{ 
    echo "<style type=\"text/css\">\r\n<!--\r\ninput {height: 20px;}\r\n-->\r\n</style>"; 
} 
echo "</head>\r\n<body   >\r\n<table  width=\"100%\"  border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\r\n  <tr>\r\n\t\t<td  bgcolor=\"#ffffff\">\r\n\t\t\t</td>\r\n\t\t\r\n    <td align=\"left\" valign=\"top\"></td>\r\n    <td width=\"100%\" align=\"right\" valign=\"top\" style=\"background-image: url(admin/images/bg_top.gif);\r\n\tbackground-repeat: repeat-x;\tbackground-position: top; \" ><h1>Установка программы на сервер</h1></td>\r\n\t</tr></table>\r\n<table width=\"700px\" border=\"0\" cellspacing=\"0\" cellpadding=\"25\" align=\"center\" class=\"table\">\r\n <tr><td>\r\n<table cellspacing=5 cellpadding=0 width=\"100%\">\r\n<tr>\r\n<td >\r\n<table cellspacing=1 cellpadding=10 width=100%>\r\n\r\n<td >"; 

switch ( $inst ) // переключатель шагов инсталяции 
{ 
    case 1 : // шаг 1 
        $root_url = substr( getenv( "HTTP_REFERER" ), 0, -18 ); 
        echo "<center>Для установки скрипта заполните все поля!</center>\r\n<br><form method=\"post\" action=\"?inst=2\">\r\n<table align=\"center\" cellspacing=\"0\" cellpadding=\"0\">\r\n<tr>\r\n  <td width=180>Логин администратора:</td>\r\n  <td><input type=\"text\" name=\"login\" size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td width=180>Пароль администратора:</td>\r\n  <td><input type=\"password\" name=\"password\"  size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td width=180>E-mail администратора:</td>\r\n  <td><input type=\"text\" name=\"mail\"  size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td colspan=\"2\">&nbsp;</center></td>\r\n</tr>\r\n<tr>\r\n  <td width=180>Хост MySQL:</td>\r\n  <td><input type=\"text\" name=\"host_bd\" value=\"localhost\"  size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td width=180>Имя базы данных MySQL:</td>\r\n  <td><input type=\"text\" name=\"name_bd\"  size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td width=180>Логин доступа MySQL:</td>\r\n  <td><input type=\"text\" name=\"login_bd\" value=\"root\"  size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td width=180>Пароль доступа MySQL:</td>\r\n  <td><input type=\"text\" name=\"password_bd\" value=\"root\"  size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td width=180>Префикс таблиц MySQL:</td>\r\n  <td><input type=\"text\" name=\"prefiks\" value=\"red\" maxlength=5 size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td colspan=\"2\">&nbsp;</center></td>\r\n</tr>\r\n<tr>\r\n  <td width=180>URL сайта:</td>\r\n  <td><input type=\"text\" name=\"url\" value=\"".$root_url."\"  size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td colspan=\"2\">&nbsp;</center></td>\r\n</tr>\r\n<tr>\r\n  <td colspan=\"2\"><center><input type=\"submit\" name=\"install\" value=\"Установить\"></center></td>\r\n</tr>\r\n</table>\r\n</form>"; 
        break; 
         
    case 2 : // шаг 2 
	
        $error = ""; 
        if(empty($_POST['login'])) 
        { 
            $error .= "<li>Не указан логин!<br />"; 
        } 
        if ( 12 < strlen($_POST['login'])) 
        { 
            $error .= "<li>Логин не может быть длиннее 12 символов!<br />"; 
        } 
        if ( !empty($_POST['login']) && strlen($_POST['login']) < 4 ) 
        { 
            $error .= "<li>Логин не может быть короче 4 символов!<br />"; 
        } 
        if ( !empty($_POST['login']) && !preg_match( "/^[a-zA-Z0-9_]{4,12}/i", $_POST['login']) ) 
        { 
            $error .= "<li>Неверно заполнен логин!<br />"; 
        } 
        if ( empty($_POST['password']) ) 
        { 
            $error .= "<li>Не указан пароль!<br />"; 
        } 
        if ( 12 < strlen( $_POST['password'] ) ) 
        { 
            $error .= "<li>Пароль не может быть длиннее 12 символов!<br />"; 
        } 
        if ( !empty( $_POST['password'] ) && strlen( $_POST['password'] ) < 4 ) 
        { 
            $error .= "<li>Пароль не может быть короче 4 символов!<br />"; 
        } 
        if ( empty( $_POST['mail'] ) ) 
        { 
            $error .= "<li>Не указан e-mail администратора!<br />"; 
        } 
        if ( empty( $_POST['host_bd'] ) ) 
        { 
            $error .= "<li>Не указан хост MySQL!<br />"; 
        } 
        if ( empty( $_POST['name_bd'] ) ) 
        { 
            $error .= "<li>Не указано имя базы данных MySQL!<br />"; 
        } 
        if ( empty( $_POST['login_bd'] ) ) 
        { 
            $error .= "<li>Не указан логин пользователя MySQL!<br />"; 
        } 
        if ( empty( $_POST['password_bd'] ) ) 
        { 
            $error .= "<li>Не указан пароль пользователя MySQL!<br />"; 
        } 
        if ( empty( $_POST['url'] ) ) 
        { 
            $error .= "<li>Не указан адрес сайта!"; 
        } 
        if (!empty($error)) 
        { 
            echo "<center>Для установки скрипта заполните все поля!</center>\r\n<br><form method=post action=\"?inst=2\">\r\n<table align=\"center\" cellspacing=\"0\" cellpadding=\"0\">\r\n<tr>\r\n  <td colspan=\"2\">Для установки скрипта устраните следующие ошибки:<br>".$error."</td>\r\n</tr>\r\n<tr>\r\n  <td colspan=\"2\">&nbsp;</center></td>\r\n</tr>\r\n<tr>\r\n  <td width=180>Логин администратора:</td>\r\n  <td><input type=\"text\" name=\"login\" value=\"".$_POST['login']."\"  size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td width=180>Пароль администратора:</td>\r\n  <td><input type=\"password\" name=\"password\" value=\"".$_POST['password']."\"  size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td width=180>E-mail администратора:</td>\r\n  <td><input type=\"text\" name=\"mail\" value=\"".$_POST['mail']."\"  size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td colspan=\"2\">&nbsp;</center></td>\r\n</tr>\r\n<tr>\r\n  <td width=180>Хост MySQL:</td>\r\n  <td><input type=\"text\" name=\"host_bd\" value=\"".$_POST['host_bd']."\" size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td width=180>Имя базы данных MySQL:</td>\r\n  <td><input type=\"text\" name=\"name_bd\" value=\"".$_POST['name_bd']."\"  size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td width=180>Логин доступа MySQL:</td>\r\n  <td><input type=\"text\" name=\"login_bd\" value=\"".$_POST['login_bd']."\"  size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td width=180>Пароль доступа MySQL:</td>\r\n  <td><input type=\"text\" name=\"password_bd\" value=\"".$_POST['password_bd']."\"  size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td width=180>Префикс таблиц MySQL:</td>\r\n  <td><input type=\"text\" name=\"prefiks\" value=\"".$_POST['prefiks']."\" maxlength=5 size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td colspan=\"2\">&nbsp;</center></td>\r\n</tr>\r\n<tr>\r\n  <td width=180>URL сайта:</td>\r\n  <td><input type=\"text\" name=\"url\" value=\"".$_POST['url']."\"  size=\"59\"></td>\r\n</tr>\r\n<tr>\r\n  <td colspan=\"2\">&nbsp;</center></td>\r\n</tr>\r\n<tr>\r\n  <td colspan=\"2\"><center><input type=\"submit\" name=\"install\" value=\"Установить\"></center></td>\r\n</tr>\r\n</table>\r\n</form>"; 
            break; 
        } 
        else 
        { 
            if ( !empty( $_POST['host_bd'] ) & !empty( $_POST['login_bd'] ) & !empty( $_POST['password_bd'] ) ) 
            { 
                if ( !( $conn = mysql_connect( $_POST['host_bd'], $_POST['login_bd'], $_POST['password_bd'] ) ) ) 
                { 
                    exit( "<br><br>Невозможно подключиться к серверу MySQL. Проверьте правильность указанных параметров подключения.<br>Нажмите кнопку 'НАЗАД' Вашего браузера.<br><br><br>" ); 
                } 
                if ( !empty( $_POST['name_bd'] ) ) 
                { 
                    if ( !mysql_select_db( $_POST['name_bd'] ) ) 
                    { 
                        exit( "Не могу выбрать базу данных " ); 
                    } 
                } 
            } 
			
  // записываем полученные переменные в файл конфиг       
            $user = $_POST['login']; 
            $mail = $_POST['mail']; 
            $pass = md5( $_POST['password'] ); 
            $db_host = $_POST['host_bd']; 
            $db_user = $_POST['login_bd']; 
            $db_pass = $_POST['password_bd']; 
            $db_name = $_POST['name_bd']; 
            $prefiks = $_POST['prefiks']; 
            $base_url = $_POST['url']; 
            $confrec = fopen("data/config.php", "w+"); 
            $conftext = "<?\r\n\$db_host = \"".$_POST['host_bd']."\";\r\n\$db_user = \"".$_POST['login_bd']."\";\r\n\$db_pass = \"".$_POST['password_bd']."\";\r\n\$db_name = \"".$_POST['name_bd']."\";\r\n\$prefiks = \"".$prefiks."\";\r\n\$userstable1 = \"".$prefiks."_redirect_group\";\r\n\$userstable2 = \"".$prefiks."_chanal_group\";\r\n\$userstable4 = \"".$prefiks."_user\";\r\n\$userstable5 = \"".$prefiks."_split_tests\";\r\n\$userstable6 = \"".$prefiks."_split_url\";\r\n\$userstable7 = \"".$prefiks."_split_stat\";\r\n\$userstable12 = \"".$prefiks."_redirect\";\r\n\$userstable17 = \"".$prefiks."_redirect_stat\";\r\n\$userstable18 = \"".$prefiks."_redirect_chanal\";\r\n\$base_url = \"".$_POST['url']."\";\r\n?>"; 
            if ( isset( $confrec ) ) 
            { 
                fwrite($confrec, $conftext); 
                fclose($confrec ); 
            } 
             
//создаем таблицы в БД 
            mysql_query( "CREATE TABLE `".$prefiks."_redirect_group` (`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,\r\n`name` VARCHAR( 255 ) NOT NULL ,PRIMARY KEY ( `id` )) TYPE=MyISAM " ); 
            mysql_query( "CREATE TABLE `".$prefiks."_chanal_group` (`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,`name` VARCHAR( 255 ) NOT NULL ,PRIMARY KEY ( `id` )) TYPE=MyISAM " ); 
            mysql_query( "CREATE TABLE `".$prefiks."_split_tests` (`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,`name` VARCHAR( 255 ) NOT NULL ,`desc` MEDIUMTEXT default NULL ,`test_type` CHAR( 1 ) NOT NULL ,`visitors_count` INT( 11 ) default NULL ,`redirect` CHAR( 1 ) default NULL ,`url_finish` VARCHAR( 255 ) default NULL ,`date` DATE NOT NULL ,`activ` CHAR( 1 ) DEFAULT '1' NOT NULL ,PRIMARY KEY ( `id` )) TYPE=MyISAM " ); 
            mysql_query( "CREATE TABLE `".$prefiks."_split_url` (`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,`id_test` VARCHAR( 11 ) NOT NULL ,`url` VARCHAR( 255 ) NOT NULL ,PRIMARY KEY ( `id` )) TYPE=MyISAM " ); 
            mysql_query( "CREATE TABLE `".$prefiks."_split_stat` (`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,`id_url` VARCHAR( 11 ) NOT NULL ,`id_test` VARCHAR( 11 ) NOT NULL ,`ip` VARCHAR( 50 ) NOT NULL ,`visit` CHAR( 5 ) NOT NULL ,`result` CHAR( 1 ) NOT NULL ,`date` DATE NOT NULL ,`time` TIME NOT NULL ,PRIMARY KEY ( `id` )) TYPE=MyISAM " ); 
            mysql_query( "CREATE TABLE `".$prefiks."_redirect` (  `id` int(11) NOT NULL auto_increment,  `name` varchar(100) default NULL,  `url` varchar(100) default NULL,  `group` INT( 11 ) NOT NULL,  PRIMARY KEY  (`id`),KEY `name` (`name`,`group`)) TYPE=MyISAM " ); 
            mysql_query( "CREATE TABLE `".$prefiks."_user` (  `user_id` int(11) NOT NULL auto_increment,  `user_name` varchar(16) NOT NULL default '',  `user_pass` varchar(32) NOT NULL default '',  `user_mail` varchar(32) default NULL,  `reg_key` VARCHAR( 200 ) default NULL,   PRIMARY KEY  (`user_id`)) TYPE=MyISAM " ); 
            mysql_query( "INSERT INTO `".$prefiks."_user` (`user_id`, `user_name`, `user_pass`, `user_mail`, `reg_key`) VALUES (1, '".$user."', '".$pass."', '".$mail."', 0)" ); 
            mysql_query( "CREATE TABLE `".$prefiks."_redirect_stat` (`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,`id_url` INT( 11 ) NOT NULL ,`domen_from` VARCHAR( 70 ) NOT NULL ,`url_from` VARCHAR( 150 ) NOT NULL ,`date` DATE NOT NULL ,`ip` VARCHAR( 20 ) NOT NULL ,`old_all` CHAR( 3 ) NOT NULL ,`chanal` VARCHAR( 10 ) NOT NULL ,`time` TIME NOT NULL ,`result` CHAR( 1 ) DEFAULT 'n' NOT NULL ,PRIMARY KEY ( `id` ) ,KEY `id_url` (`id_url`,`date`,`domen_from`, `chanal`)) TYPE=MyISAM" ); 
            mysql_query( "CREATE TABLE `".$prefiks."_redirect_chanal` (`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,`name` VARCHAR( 100 ) NOT NULL ,`group` INT( 11 ) NOT NULL ,PRIMARY KEY ( `id` ) ,KEY `group` (`group`)) TYPE=MyISAM" ); 
 // __________установлен             
            echo "<br><br><center><h3>Скрипт установлен!</h3><br>\r\nПосле того, как убедитесь в корректности работы скрипта, удалите файл install.php!<br /><br /><a href=\"admin/\">[ Перейти к управлению ]</a></center>"; 
            mysql_close( $conn ); 
            break; 
        } 
    case 3 :  // шаг 1 
        $fp = fopen( "admin/licence.txt", "r" ); // открываем файл для чтения 
        $text = fread( $fp, 100000 ); // считываем в переменную 
        fclose( $fp ); // закрываем файл 
         
        echo "<h3>Лицензионное соглашение</h3>\r\n  <form name=\"form1\" id=\"form1\" method=\"post\" action=\"?inst=1\">\r\n    <textarea name=\"value\" style=\"width: 99%\" rows=\"30\">".$text."</textarea><br /><br />\r\n    <div align=\"center\"><input name=\"\" type=\"submit\" value=\"Принимаю условия соглашения\" /></div>\r\n  </form>"; 
        break; 
         
    default : 
echo "<center><font size=4><b>Установка скрипта \"Многофункциональный редирект\"</b></font>\r\n<br></center>\r\n<br><br>Прежде чем продолжить, пожалуйста, убедитесь в следующем:<ul><li>все файлы из дистрибутива загружены на сервер</li><li>на сервере создана база данных MySQL</li><li>Вам известны параметры доступа к базе данных</li></ul>\r\n<br><b><center>ВНИМАНИЕ! ДЛЯ ИСКЛЮЧЕНИЯ НЕПРАВОМЕРНЫХ ДЕЙСТВИЙ, УДАЛИТЕ ФАЙЛ install.php СРАЗУ ЖЕ ПОСЛЕ УСТАНОВКИ СКРИПТА!</center></b><br><br><center><form name=\"form1\" id=\"form1\" method=\"post\" action=\"?inst=3\">\r\n  <input type=\"submit\" name=\"Submit\" value=\"Установить скрипт\" />\r\n</form></center>"; 
} 
// выводим футер 
$y = date( "Y" ); 
echo "<br>\r\n&nbsp;</td>\r\n</tr>\r\n<tr>\r\n<td bgcolor=#EDECE9>\r\n<center>\r\nCopyright &copy; ".$y."\r\n</center>\r\n</td>\r\n</tr>\r\n</table>\r\n</td>\r\n</tr>\r\n</table></td></tr></table>\r\n</body>\r\n</html>"; 
?>
У себя потестил ... все таблицы создаются, в начале только ругается на неопределённый индекс inst в выражении $inst = $_GET['inst']; но это возможно от того что у меня не полный пакет файлов...
Да... ещё вот что.. проблема может быть в юзере под которым происходит подключение к БД
Парочка рекомендаций на эту тему: я вижу ты пользуешься phpMyAdmin-ом ...
Создай базу, открой структуру базы, из структуры базы перейди во вкладку привилегии, кликни по ссылке создать нового пользователя
В открывшейся форме укажи имя пользователя, имя хоста (как правило localhost), пароль пользователя и подтверждение пароля. Ниже отметь " Выставить полные привилегии на базу данных "...."" и кликай ок.
После этого должно все выглядеть приблизительно так: Для просмотра ссылки Войди или Зарегистрируйся(только флажки должны быть отмечены все).
Если будут отмечены все флажки кроме того который напротив CREATE в разделе "Структура", таблицы не создадутся!!!
Если будут отмечены все флажки кроме того который напротив INSERT в разделе "Данные", данные администратора в таблицу users не внесутся!!! и т.д.
Итак подводя итог: У тебя в наличии должен быть пользователь с паролем и неделённый всеми правами на твою базу.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху