Подскажите... можно ли сделать функцию выдирающую НОМЕР ошибки из mysql_error(), что бы подставить СВОЙ ТЕКСТ... например "Произошла ошибка соединения, назмите здесь что бы сообщить о ней администратору". Или "Невозможно вставить запрос... Напишите админу" ну и т.д.. Если да, то как это реализовать? И где можно почитать про коды ошибок sql Спасибо!
Снова бага ( PHP: <? $query = "SELECT * FROM `question` WHERE moder=1 ORDER BY RAND() LIMIT 0,1"; $sql = @mysql_query($sql) or die(mysql_error() .'-'. mysql_errno()); while($res = mysql_fetch_array($sql)) { echo $res['id']; } ?> скрипт выдает Хотя в phpmyadmin все работает
Нахрена? Чтобы ошибки mysql не сыпались в вывод? Дык они и не будут сыпаться. Получаете только сложности при дебаггинге, которые сами себе и насоздавали.
Просто замечание: старайтесь никогда не оставлять в конечной версии такие вещи как PHP: die(mysql_error() .'-'. mysql_errno()); Они очень сильно облегчают жизнь всяким нехорошим дядям.
Hight всё со своим логом) Да просто mysql_error() выводить не следует, только в целях отладки, но лучше сразу удалять, а то потом забудется.
PHP: <? while($res = mysql_fetch_array($sql)) { $id[] = $res['id']; } ?> А потом $id[0], $id[1]... и т.д.
Johnatan, смотри внимательнее мой пост ) Смотри.. из БД берется несколько значений... Вопрос, ответы и верный ответ... Все обрабатывается вайлом... Юзер щелкает на линк вида ?otvet=X где X правильный ответ... Вот и не знаю как сделать проверку?? Типа если $_GET['otvet'] === 'X' то... Но не срабатывает
PHP: <?php $otvet = true; while($row = mysql_fetch_assoc($result)) { if($row['otvet'] == $_GET['otvet']) { $otvet = false; break; } } if($otvet) echo 'Всё ok';
Извини, а как у тебя правильный ответ помечен? Он в колонке в отдельной? Если у тебя лимит на одну строку при выборе из БД, то так: PHP: <? $row = mysql_fetch_row($sql); if ($_GET['otvet'] == $row[0]) {echo "Ответ правильный";} // Вместо 0 нужно поставить индекс колонки с правильным ответом ?> 2Hight Скорее всего имелось в виду: PHP: $otvet = true; break;
не получается По порядку 1. Выбираем из БД случайную строку PHP: <? $sql = mysql_query("SELECT * FROM `question` WHERE moder=1 ORDER BY RAND() LIMIT 0,1"); ?> 2. Обрабатываем циклом... PHP: <? while($res = mysql_fetch_assoc($sql)) {echo $res['question']; echo $res['otvet_1']; echo $res['otvet_verno']} ?> 3. Пользователь нажимает на ссылку вида PHP: ?otvet=1 4. Скрипт проверяет значение переменной $_GET['otvet'] со значением $res['otvet_verno'] 5. Если значение $_GET['otvet'] === $res['otvet_verno'] то... и вот тут проблема... не пониаю как сделать проверку... А теперь попробуйте совместите то, что вы предлагаете
PHP: <?php $dbhost = ''; $dbuser = ''; $dbpasswd = ''; $dbname = ''; db_connect($dbhost, $dbuser, $dbpasswd, $dbname); $sql = "SELECT * FROM `question` WHERE moder=1 ORDER BY RAND() LIMIT 0,1"; $sql = mysql_query($sql) or die(mysql_error() .'-'. mysql_errno()); while($res = mysql_fetch_assoc($sql)) { print(' <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" bgcolor="#1275A7" text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF"> <script type="text/javascript" src="_question.js"></script> <body onLoad="Down(); startCountdown();"> <table border="1" width="100%" cellspacing="0" style="border-collapse: collapse" bordercolor="#000000"> <tr> <td width="50%" align="center"><font size="2">Вопрос № '.(int)$res[id].'</font></td> <td width="50%"><div align="center" id="numberCountdown"></div></td> </tr> <tr> <td colspan="2" width="50%" align="center"><b>'.$res[question].'</b></td> </tr> <tr> <td width="50%" align="center"><b><a href="?otvet=1">'.$res[otvet_1].'</a></b></td> <td width="50%" align="center"><b><a href="?otvet=2">'.$res[otvet_2].'</a></b></td> </tr> <tr> <td width="50%" align="center"><b><a href="?otvet=3">'.$res[otvet_3].'</a></b></td> <td width="50%" align="center"><b><a href="?otvet=4">'.$res[otvet_4].'</a></b></td> </tr> <tr> <td colspan="2" width="50%"><font size="2">Вопрос от пользователя: </font> <b><font size="2">'.$res[author].'</font></b> Верный - '.(int)$res[otvet_verno].'</td> </tr> </table>'); } ?>
Может быть поможет: <input type="hidden" name="tekuschii_vopros" value="<?=$res['id'];?>" /> А, когда тыкнули ссылку "?otvet=1", то проверяем: PHP: <? $res=mysql_fetch_array(mysql_query("SELECT * FROM 'question' WHERE id=".$_REQUEST['tekuschii_vopros'])); if ($res['otvet_verno']==$_REQUEST['otvet']) echo "Молодец, угадал."; ?>