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 '' at line 1 с чем может быть связана эта ошибка? Код (Text): <? Error_Reporting (0); if(isset($ku['id'])) { echo 'Вы уже зарегистрированы'; } else { if(isset($_POST['nick']) && isset($_POST['password']) && isset($_POST['password2']) && isset($_POST['email'])) { if($result = mysqli_store_result($db->Query("SELECT COUNT(*) FROM `kolhoz_user` WHERE `nick` = '".my_esc($_POST['nick'])."' LIMIT 1"),0)!=0)err_game("Этот ник уже зарегистрирован. Выберите другой!"); elseif( !preg_match("#^([A-zА-я0-9\-\_\ ])+$#ui", $_POST['nick']))err_game('В нике присутствуют запрещенные символы'); elseif (preg_match("#[a-z]+#ui", $_POST['nick']) && preg_match("#[а-я]+#ui", $_POST['nick']))err_game('Разрешается использовать символы только русского или только английского алфавита'); elseif (preg_match("#(^\ )|(\ $)#ui", $_POST['nick']))err_game('Запрещено использовать пробел в начале и конце ника'); elseif (strlen2($_POST['nick'])<4)err_game('Короткий ник'); elseif (strlen2($_POST['nick'])>32)err_game('Длина ника превышает 32 символа'); elseif (!isset($_POST['email']) || $_POST['email']==NULL)err_game('Неоходимо ввести Email'); elseif(!isset($_POST['rules']))err_game('Нужно принять правила!'); elseif (!preg_match('#^[A-z0-9-\._]+@[A-z0-9]{2,}\.[A-z]{2,4}$#ui',$_POST['email']))err_game('Неверный формат Email'); elseif($result = mysqli_store_result($db->Query("SELECT COUNT(*) FROM `kolhoz_user` WHERE `email` = '".my_esc($_POST['email'])."'"),0)!=0)err_game("Пользователь с этим E-mail уже зарегистрирован"); elseif (strlen2($_POST['password'])<6)err_game('По соображениям безопасности пароль не может быть короче 6-ти символов'); elseif(strlen2($_POST['password'])>32)err_game('Длина пароля превышает 32 символа'); elseif ($_POST['password']!=$_POST['password2'])err_game('Пароли не совпадают'); else { if($_POST['pol']==0)$pol='0';else $pol='1'; $db->Query("INSERT INTO `kolhoz_user` SET `nick` = '".my_esc($_POST['nick'])."', `password` = '".md5($_POST['password'])."', `pol` = '$pol', `email` = '".my_esc($_POST['email'])."', `money` = '0', `rubies` = '0', `status` = '".(mysql_result($db->Query("SELECT COUNT(*) FROM `kolhoz_user`"), 0)==0?3:0)."', ref_id = '".$_COOKIE['ref']."'"); $_SESSION['id_user']=mysql_insert_id(); header("Location:/?myfarm"); exit; } } ?> <table width="700" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="tab1"> <table class="zag_page" align="center"><tbody><tr><td align="center" valign="middle">Регистрация</td></tr></tbody></table> </td></tr> <tr><td class="tab2"> <div class="block_tab"><br> <form method="post"> <table border="0" align="center" width="600"> <tbody><tr> <td> <span class="text">Логин:<font color="#FF0000">*</font></span><br> <input class="inp_page" type="text" value="" name="nick" autocomplete="off" maxlength="20" placeholder="От 4 до 20 символов"><br> <span class="text">Пол:<font color="#FF0000">*</font></span><br> <select class="select_page" name="pol"> <option value="1">Мужской</option> <option value="0">Женский</option> </select><br> <span class="text">Пароль:<font color="#FF0000">*</font></span><br> <input class="inp_page" type="password" value="" name="password" autocomplete="off" maxlength="32" placeholder="От 6 до 32 символов"><br> <span class="text">Пароль повтор:<font color="#FF0000">*</font></span><br> <input class="inp_page" type="password" value="" name="password2" autocomplete="off" maxlength="32" placeholder="От 6 до 32 символов"><br> <span class="text">E-mail:<font color="#FF0000">*</font></span><br> <input class="inp_page" type="email" value="" name="email" maxlength="50"><br> <span class="text">Вас пригласил:</span><br> <? $qqqq = $_COOKIE['ref']; $fre = $db->Query("SELECT * FROM kolhoz_user WHERE id = $qqqq"); $rfa = $row->mysqli_fetch_array($fre); ?> <input class="inp_page" type="" value="<?=$rfa['nick']; ?>" name="" disabled=""><br><br> <td valign="top" align="center"> <input name="rules" type="checkbox" style="width:16px; height:16px;"><label id="rules"><span class="text"><a class="link_s" href="?rules" target="_blank">Правила</a> игры прочитал и принимаю<font color="#FF0000">*</font></span></label><br> </td> </td> </tr> <tr> <td colspan="2"> <center><input type="submit" class="btn_small" value="Регистрация"></center> </td> </tr> </tbody></table> </form> </div> </td></tr><tr><td class="tab3"></td></tr></tbody></table> <? echo "<div></div>"; include_once 'inc/foot.php'; exit; } ?> пробывал вот это прописывать ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=196 ; спасибо.
1. Включи ошибки error_reporting. А разный регистр - красивее? 2. Сделай echo проблемного запроса и выкладывай его сюда. Как бы одной силой мысли твой код сложно проверить.
Код (Text): <? Error_Reporting (1); if(isset($ku['id'])) { echo 'Вы уже зарегистрированы'; echo "<center><b><font color = 'red'>Указанный логин уже используется</font></b></center><BR />"; echo "<center><b><font color = 'red'>Пароль заполнен неверно</font></b></center><BR />"; echo "<center><font color = 'red'><b>Email имеет неверный формат</b></font></center>"; echo "<center><b><font color = 'red'>Вы не подтвердили правила</font></b></center><BR />"; echo "<center><b><font color = 'green'>Вы успешно зарегистрировались. Используйте форму слева для входа в аккаунт</font></b></center><BR />"; } else { if(isset($_POST['nick']) && isset($_POST['password']) && isset($_POST['password2']) && isset($_POST['email'])) { if($result = mysqli_store_result($db->Query("SELECT COUNT(*) FROM `kolhoz_user` WHERE `nick` = '".my_esc($_POST['nick'])."' LIMIT 1"),0)!=0)err_game("Этот ник уже зарегистрирован. Выберите другой!"); elseif( !preg_match("#^([A-zА-я0-9\-\_\ ])+$#ui", $_POST['nick']))err_game('В нике присутствуют запрещенные символы'); elseif (preg_match("#[a-z]+#ui", $_POST['nick']) && preg_match("#[а-я]+#ui", $_POST['nick']))err_game('Разрешается использовать символы только русского или только английского алфавита'); elseif (preg_match("#(^\ )|(\ $)#ui", $_POST['nick']))err_game('Запрещено использовать пробел в начале и конце ника'); elseif (strlen2($_POST['nick'])<4)err_game('Короткий ник'); elseif (strlen2($_POST['nick'])>32)err_game('Длина ника превышает 32 символа'); elseif (!isset($_POST['email']) || $_POST['email']==NULL)err_game('Неоходимо ввести Email'); elseif(!isset($_POST['rules']))err_game('Нужно принять правила!'); elseif (!preg_match('#^[A-z0-9-\._]+@[A-z0-9]{2,}\.[A-z]{2,4}$#ui',$_POST['email']))err_game('Неверный формат Email'); elseif($result = mysqli_store_result($db->Query("SELECT COUNT(*) FROM `kolhoz_user` WHERE `email` = '".my_esc($_POST['email'])."'"),0)!=0)err_game("Пользователь с этим E-mail уже зарегистрирован"); elseif (strlen2($_POST['password'])<6)err_game('По соображениям безопасности пароль не может быть короче 6-ти символов'); elseif(strlen2($_POST['password'])>32)err_game('Длина пароля превышает 32 символа'); elseif ($_POST['password']!=$_POST['password2'])err_game('Пароли не совпадают'); else { if($_POST['pol']==0)$pol='0';else $pol='1'; $db->Query("INSERT INTO `kolhoz_user` SET `nick` = '".my_esc($_POST['nick'])."', `password` = '".md5($_POST['password'])."', `pol` = '$pol', `email` = '".my_esc($_POST['email'])."', `money` = '0', `rubies` = '0', `status` = '".(mysql_result($db->Query("SELECT COUNT(*) FROM `kolhoz_user`"), 0)==0?3:0)."', ref_id = '".$_COOKIE['ref']."'"); $_SESSION['id_user']=mysql_insert_id(); header("Location:/?myfarm"); exit; } } ?> <table width="700" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="tab1"> <table class="zag_page" align="center"><tbody><tr><td align="center" valign="middle">Регистрация</td></tr></tbody></table> </td></tr> <tr><td class="tab2"> <div class="block_tab"><br> <form method="post"> <table border="0" align="center" width="600"> <tbody><tr> <td> <span class="text">Логин:<font color="#FF0000">*</font></span><br> <input class="inp_page" type="text" value="" name="nick" autocomplete="off" maxlength="20" placeholder="От 4 до 20 символов"><br> <span class="text">Пол:<font color="#FF0000">*</font></span><br> <select class="select_page" name="pol"> <option value="1">Мужской</option> <option value="0">Женский</option> </select><br> <span class="text">Пароль:<font color="#FF0000">*</font></span><br> <input class="inp_page" type="password" value="" name="password" autocomplete="off" maxlength="32" placeholder="От 6 до 32 символов"><br> <span class="text">Пароль повтор:<font color="#FF0000">*</font></span><br> <input class="inp_page" type="password" value="" name="password2" autocomplete="off" maxlength="32" placeholder="От 6 до 32 символов"><br> <span class="text">E-mail:<font color="#FF0000">*</font></span><br> <input class="inp_page" type="email" value="" name="email" maxlength="50"><br> <span class="text">Вас пригласил:</span><br> <? $qqqq = $_COOKIE['ref']; $fre = $db->Query("SELECT * FROM kolhoz_user WHERE id = $qqqq"); $rfa = $row->mysqli_fetch_array($fre); ?> <input class="inp_page" type="" value="<?=$rfa['nick']; ?>" name="" disabled=""><br><br> <td valign="top" align="center"> <input name="rules" type="checkbox" style="width:16px; height:16px;"><label id="rules"><span class="text"><a class="link_s" href="?rules" target="_blank">Правила</a> игры прочитал и принимаю<font color="#FF0000">*</font></span></label><br> </td> </td> </tr> <tr> <td colspan="2"> <center><input type="submit" class="btn_small" value="Регистрация"></center> </td> </tr> </tbody></table> </form> </div> </td></tr><tr><td class="tab3"></td></tr></tbody></table> <? echo "<div></div>"; include_once 'inc/foot.php'; exit; } ?> если честно я ничего не понял,но я там echo добавил,правильно ли не знаю) объясни как включить ошибки? вместо Error_Reporting (0); поставить Error_Reporting (1); ?
ты совсем плох! 8) на будущие! ЕХО пролемного запроса выглядить примерно так! 1 ищи свой запрос! 2 вместо выполнение выводи его себе на екран! например Код (PHP): $db->Query("INSERT INTO `kolhoz_user` SET `nick` = '".my_esc($_POST['nick'])."', `password` = '".md5($_POST['password'])."', `pol` = '$pol', `email` = '".my_esc($_POST['email'])."', `money` = '0', `rubies` = '0', `status` = '".(mysql_result($db->Query("SELECT COUNT(*) FROM `kolhoz_user`"), 0)==0?3:0)."', ref_id = '".$_COOKIE['ref']."'"); //поменяй!!!!! суть махинации понял? echo ("INSERT INTO `kolhoz_user` SET `nick` = '".my_esc($_POST['nick'])."', `password` = '".md5($_POST['password'])."', `pol` = '$pol', `email` = '".my_esc($_POST['email'])."', `money` = '0', `rubies` = '0', `status` = '".(mysql_result($db->Query("SELECT COUNT(*) FROM `kolhoz_user`"), 0)==0?3:0)."', ref_id = '".$_COOKIE['ref']."'");
Parse error: syntax error, unexpected T_ECHO, expecting ')' on line 27 вот какую ошибку выводит Добавлено спустя 1 минуту 7 секунд: вот эта строчка Код (Text): if($result = mysqli_store_result(echo("SELECT COUNT(*) FROM `kolhoz_user` WHERE `nick` = '".my_esc($_POST['nick'])."' LIMIT 1"),0)!=0)err_game("Этот ник уже зарегистрирован. Выберите другой!");
echo должен стоять отдельно, а не внутри вызова функции. Сделай как-то так: Код (Text): $sql = "SELECT......"; echo $sql; Какое-то использование $sql