Ребят, что то не пойму никак... вот у меня такой вопрос! PHP: <?php include("pass.php"); $_SESSION['passreg']=make_password(7); $passreg=$_SESSION['passreg']; $nik=$_SESSION['nik']; $name=$_SESSION['name']; $lastname=$_SESSION['lastname']; $ip=$_SESSION['ip']; $dat=$_SESSION['dat']; $rez1 = mysql_query("INSERT INTO user (nik,name,lastname,mail,ip,dat,pass) VALUES ('$nik','$name','$lastname','$mail','$ip','$dat','$passreg')"); ?> Это часть кода которая должна выполнять добавление в базу данных, почему функция mysql_query возвращает false и никакого добавления не происходит? Никак не пойму в чем ошибка!!!! на другом скрипте добавлял, правда одну запись, все работает!!!! Может нельзя сразу добавлять так много значений за один запрос? Заранее большое спасибо!!!!
Если в файле pass.php нет PHP: <?php session_start(); , то вероятно всего, что нужно добавить эту строку перед выше указанным кодом...
Да я выложил часть кода! А файл "pass.php" там находится функция которая генерирует строку из случайных символов, параметр которой является длинна строки! А "session_start();" добавляется в самом начале скрипта у меня...Вроде все правильно написано, а функция говорит то что добавление не удалось, вот не пойму почему так
Вот скрипт полностью PHP: <?php session_start(); include("connect.php"); mysql_query("SET NAMES 'cp1251'",$db); $kod=$_SESSION['kod']; $kod1=$_GET['kod']; $mail=$_SESSION['mail']; if ($kod1==1) { if(isset($_SESSION['kod'])) { $meseng1='<strong>Регистрация пользователя (шаг 2)</strong><br><br>На ваш E-mail: <a href="mailro:'.$mail.'" class="smallgraytext"><u>'.$mail.'</u></a> было отправленно письмо с дальнейшими инструкциями по регистрации. Большое спасибо за проявленный к нам интерес.'; } else { $meseng1='<strong>Регистрация пользователя (шаг 2)</strong><br><br>Извините, но данная страница устарела! Пожалуйста вернитесь на главную страницу сайта<br><a href="../" class="smallgraytext">Перейти...</a>'; } } if ($kod1==$kod) { include("pass.php"); $_SESSION['passreg']=make_password(7); $passreg=$_SESSION['passreg']; $nik=$_SESSION['nik']; $name=$_SESSION['name']; $lastname=$_SESSION['lastname']; $ip=$_SESSION['ip']; $dat=$_SESSION['dat']; $rez1 = mysql_query("INSERT INTO user (name,lastname,mail,ip,dat,pass) VALUES ('$name','$lastname','$mail','$ip','$dat','$passreg')"); if($rez1) { $header="Content-type: text/html; charset=\"windows-1251\""; $msn='Поздравляем с успешной регистрацией на сайте! Вот ваши данные для входа<br>***********************************************************************************************<br><br><b>E-mail:</b> '.$mail.'<br><b>Пароль:</b> '.$passreg.'<br><br>***********************************************************************************************<br>Спасибо за проявленный к нам интерес. По всем вопросам обращаться в службу поддержки'; mail($mail,"Поздравляем с успешной регистрацией",$msn,$header); $meseng1='<strong>Регистрация пользователя (шаг 3)</strong><br><br><b>E-mail:</b> '.$mail.'<br><b>Пароль:</b> '.$passreg.'<br>По всем вопросам обращаться в службу поддержки. Так же Вам высланно письмо с данной информацией.'; } else { $meseng1='<strong>Ошибка работы базы данных</strong><br><br>Сервер базы данных не отвечает, пожалуйста повторите попытку регистрации снова, если данная ошибка повторяется обратитесь в службу технической поддержки, приносим свои извинения за неудобства!<br>'; } } ?> У меня почему то всегда выводит: $meseng1='<strong>Ошибка работы базы данных</strong><br><br>Сервер базы данных не отвечает, пожалуйста повторите попытку регистрации снова, если данная ошибка повторяется обратитесь в службу технической поддержки, приносим свои извинения за неудобства!<br>';
Прикол в том что почему-то именно в данную таблицу "user" ничего не могу добавить.... другую создал для проверки с 2-мя полями и все работает!!!!! Почему интересно?
Вот что пишет функция mysql_error(): 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 ') VALUES ('VaneS','VaneS','Ri_Lax','6jnv6um2','vanes-xxl@list.ru','188.186.208.1' at line 1 Что это значит?
Значит, что где то в строке ') VALUES ('VaneS','VaneS','Ri_Lax','6jnv6um2','vanes-xxl@list.ru','188.186.208.1' допущена синтаксическая ошибка Попробуйте использовать обратную кавычку - ` (клавиша с этим символом находится на стандартной клавиатуре слева от клавиши "1"), заместо обычной ' ну и проверьте (print_r) что находится в каждой переменной и туда ли она попадает (малоли, вдруг ip адрес заносится в $passreg) PHP: <?php $rez1 = mysql_query("INSERT INTO `user` (`name`,`lastname`,`mail`,`ip`,`dat`,`pass`) VALUES (`$name`,`$lastname`,`$mail`,`$ip`,`$dat`,`$passreg`)");
Да я уже нашел в чем проблема!!!! просто помимо этих полей были еще и другие например между полями mail, pass было еще поле tel... я думал что если просто указать что и куда заносить, то будет заноситься.... а как оказалось нужно было все поля указывать.... я так понял что не нужно указывать все поля только тогда, когда редактируешь существующею запись, либо нужно что то ставить по умолчанию что бы добавлялось если поле пустое, а у меня ничего не добавлялось если поле пустое оставалось!