не надо его вообще показывать, если не отлаживаешь. убрать эхо не развалится. потому что ты не справляешься формировать запрос без ошибок так же, как он у тебя выглядит в ПМА. Проверяй.
вот кусок кода: PHP: //$sqls="insert into user (nick, ip, pas, date, surname, name, father, age, id) values('$login', '$ip', '$pas', now(), '$sname', '$name', '$father', $age,null)"; $sqls="insert into user set nick='$login',ip='$ip',pas='$pas', date=now(), surname='$sname', name='$name',father='$father',age='$age'"; echo "<br>".$sqls."<br>"; $rr=mysql_query($sqls); При чем одинаково не работает что с одним вариантом строки, что с другим. Пишет при этом insert into user set nick='ИФтвук',ip='127.0.0.1',pas='длорт', date=now(), surname='лр', name='р',father='жщр',age='49' (ну или что-то типа того). В таблице есть еще одна колонка id auto_increment not null primary key. В конечном итоге весь код не работает кроме предъявленного куска - просто не записывает в таблицу ничего
а если я вставлю в форму в поле age "union select password from mysql.users" ? повторить. вставить выведенный на страничку запрос в ПМА и прочесть сообщение об ошибке. или вывести его командой
нуу... я бы названия таблиц писал `как надо` и все "данные" заковычил - date='now()' - чай не Си, сам разберется где число, а где фигня. переменные "вручную" вклинивал: Код (Text): nick='".$login."',ip='".$ip."' к тому же, если не ошибаюсь, добавляют обычно так: Код (Text): INSERT INTO `table` () VALUES()
так, что-то дела совсем плохи. Запись добавляется только один раз почему-то PHP: <html><head> <link rel=stylesheet type='text/css' href='style.css'> </head><body> <?php $again="<hr><p class='menu'><center><a href='reg.php'>Регистрация</a></center></p>"; include "config.php"; $login=$_POST['login']; $ip=$_SERVER["REMOTE_ADDR"]; $pas=$_POST['pas']; $sname=$_POST['surname']; $name=$_POST['name']; $father=$_POST['father']; $age=date('Y')-$_POST['age']; if ($login=='' or $pas=='' or $age=='') { echo "Вы не ввели все требуемые для регистрации данные".$again; } else { $sql="select (count(nick)+count(ip)) as 'numero' from user where nick='$login' or ip='$ip'"; //echo '<br>'.$sql.'<br>'; $lq=mysql_query($sql); while($reg=mysql_fetch_object($lq)) { $nr=$reg->numero; } if($nr==0) { $sqls="insert into user set nick='$login',ip='$ip',pas='$pas', date=now(), surname='$sname', name='$name',father='$father',age='$age'"; echo "<br>".$sqls."<br>"; $rr=mysql_query($sqls); echo "Регистрация прошла успешно<a href='reg.php'>Регистрация</a>"; } else { echo "Пользователь с таким именем существует или вы регистрируетесь 2-й раз, или вводите не правильные регистрационные данные. Попробуйте еще.".$again; } } ?> </body></html> Потом пишет, что все успешно, но запись не добавляет. armadillo, запись эту добавить не получится - там тип ввода данных другой, а в других формах - ограничение по размеру. Хотя если подумать - эот не проблема. Вообще в этом варианте пока защиты нет никакой, это черновой для понимания процесса, всех его заковырок. А что тот код делает?
1062: Duplicate entry '0' for key 1 можно расшифровать это сообщение? самы мы не местные, подходящую стенку найти сложно
armadillo а как этого избежать? ведь по умолчанию там должно происходить автоматическое увеличение, а если плюсовать 1 вручную, так это ж извращение
QQQ точно, после alter table-а сбросилось, а я внимание не обратил. Киньте плиз ссылкой на список ошибок, что б не стучать сюда каждый раз в случае чего. Желательно на русише. ЗЫ. опять невнимательность
Можно ли вывести часть запроса к мускулу? Например: PHP: ... while($row=mysql_fetch_row($res)){ echo $row[0]." - ".$row[1]."<br>"; } Вот в данном примере выводиться будет все, что будет соответствовать запросу, а как к примеру вывести только скажем 5ю строку? Варианты с изменением самого запроса- это само собой разумеется, но если выводить содержимое нужно в нескольких местах, при чем не везде в полном объеме... Создавать-то новый запрос не целесообразно с точки зрения производительности.
armadillo оказывается нет проблем, все чудесно ...просто не подумал об этом, нужно было чуть дольше помедитировать.
Народ, ткните плиз в то место русскоязычного мануала, где описывается место хранения сессий на сервере и их время жизни.