Подскажите люди знающие. В начальный момент у меня нет БД. В скрипте (как раз тот что бд создает и работает с ней) строки для работы с БД прописаны, соответственно вылазит сообщение: "Warning: mysql_num_rows(): supplied argument is not a valid MySQL" Мне нужно это сообщение как то скрыть, либо к нему дописать свое сообщение (Что мол БД пока нет). Как это можно сделать.
там где ты приказываешь ей показатся... например PHP: <? mysql_query($sql) or die (@mysql_error()); ?> но делать так не советую если ошибка выскакивает то значит скрипт не отлажен... Так делать надо только в тех случаях когда он полноценно работает с учетом функций mysql_escape_string() и html_special_char() что б если ввели совсем что то несусветное то хоть пользователь не подумает что ресурс накрылся...
PHP: $res = mysql_query(...); if ($res) { echo 'Получено: ' . mysql_num_rows($res) . ' записей'; } else { echo 'Ничего нету'; }
1)Если уж говорить про @ то: PHP: <?php @mysql_query($sql); Далее... Можно запретить вывод всех ошибок (если хостер позволяет): Код (Text): ini_set("display_errors", "off"); Можно задать функцию для обработки ошибок с помощью set_error_handler. Можно вывести свою инфу в конкретном случае: PHP: <?php @mysql_query($sql) or die ("Базы нет!");
mysql_query не создает ошибок, если было создано подключение к базе. Вот такая запись еще имеет смысл: PHP: @mysql_connect(...) or die("Базы нет"); ошибки могут создавать функции, которые принимают результат работы функции mysql_query, т.к. она может вернуть false, но никак не вызвать ошибку.
Eser вывод сообщения о ошибке в период отладки это необходимо, после отладки отключишь все сообщения, <?php error_reporting(E_ALL); правда в отношении пхп это, а к мускулу не уверен. В твоем случае о функции mysql_num_rows(), точно не знаю, попробуй переведи, но возможно ты написал функцию не с резултатом запроса работающую. $sql_id=mysql_query("SELECT.....l.. $num=mysql_num_rows($sql_id);