@kirill270999

Почему на локальном хосте все работает, а на рег.ру нет?

Всем привет! Бьюсь над проблемой целый день! Уже не знаю , что делать. У меня есть программа, которая выбирает из бд select`ы и, благодаря выбранным select`ам показывает статьи . На open server она работает нормально, но когда я выливаю файлы на сервер Reg.ru данные из бд в select`ы не подгружаются, а значит тормозится дальнейший процесс. Связывался с тех поддержкой, говорят , что это не с их стороны. Нашел ошибку в файле footer.php mysql_fetch_array() expects parameter 1 to be resource, bool. Я проверил , но ничего не нашел, да и на локальном хосте не было такого. Может я не вижу очевидного? Пожалуйста, помогите советом или скажите, что я не так делаю?
footer.php тут подгружается первый select.
<div id="parent_popup"> 	
	  		<div id="popup">
	  			
	  			<div>
			       <select id="get_country" name="get_country">
			        <option value="">Выберите Метро</option>
			        <?php
			          

			          $result = mysql_query("SELECT * FROM country");
			          while ($row = mysql_fetch_array($result))
			          {
			             echo "<option value='".$row["id"]."'>".$row["name"]."</option>";
			          }
			        ?>
			       </select>
			    </div>
			    <div id="sub_region">
			        <select id="get_region" name="get_region"></select>
			    </div>

			    <div id="sub_city" class="item">
			       <div id="get_city" name="get_city"></div>
			    </div>
			</div> 
			<a class="close"title="Закрыть">X</a>
		</div>


get_region.php тут подгружается второй select.
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
 
require_once"connect.php";


$result = mysql_query("SELECT * FROM region WHERE `country_id`='".$_POST["country"]."' ");

   echo"<option value=''>выберите Квартиру</option>";

while ($row = mysql_fetch_array($result))
{
   echo "<option value='".$row["id"]."'>".$row["name"]."</option>";
}

}

get_city.php тут появляются статьи после выбора двух select
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {

require_once("connect.php");
require_once'functions.php';
$res = mysql_query(" SELECT DATE_FORMAT(FROM_UNIXTIME(), showDate($time)) ");

$result = mysql_query("SELECT * FROM city WHERE `regionid`='".$_POST["region"]."'");
while ($row = mysql_fetch_array($result,$res))
{
	echo "<div class='infoFlat'>";
    echo "<h3 value='".$row["id"]."'>".$row["metro"]."</h3>";
    echo "<h3 value='".$row["id"]."'>".$row["name"]."</h3>";
    echo "<p value='".$row["id"]."'>".$row["texts"]."</p>";
    echo "<p value='".$row["id"]."'>".showDate($row["dates"])."</p>";
    echo "<p value='".$row["id"]."'>".$row["price"]."</p>";
    echo "</div>";
}

}

functions.php вывод времени статей
function showDate($time) { // Определяем количество и тип единицы измерения
	  	$time = time() - $time;
	  	if ($time < 60) {
	    	return 'меньше минуты назад';
	  	} elseif ($time < 3600) {
		    return dimension((int)($time/60), 'i');
		} elseif ($time < 86400) {
		    return dimension((int)($time/3600), 'G');
		} elseif ($time < 2592000) {
		    return dimension((int)($time/86400), 'j');
		} elseif ($time < 31104000) {
		    return dimension((int)($time/2592000), 'n');
		} elseif ($time >= 31104000) {
		    return dimension((int)($time/31104000), 'Y');
		}
	}

	function dimension($time, $type) { // Определяем склонение единицы измерения
	  	$dimension = array(
		    'n' => array('месяцев', 'месяц', 'месяца', 'месяц'),
		    'j' => array('дней', 'день', 'дня'),
		    'G' => array('часов', 'час', 'часа'),
		    'i' => array('минут', 'минуту', 'минуты'),
		    'Y' => array('лет', 'год', 'года')
	  	);
	    if ($time >= 5 && $time <= 20)
	        $n = 0;
	    else if ($time == 1 || $time % 10 == 1)
	        $n = 1;
	    else if (($time <= 4 && $time >= 1) || ($time % 10 <= 4 && $time % 10 >= 1))
	        $n = 2;
	    else
	        $n = 0;
	    return $time.' '.$dimension[$type][$n]. ' назад';

	}
  • Вопрос задан
  • 648 просмотров
Решения вопроса 2
@NinjaNickName
Web разработчик
В новых версиях PHP, если не ошибаюсь, выпилили mysql, нет? Используйте MySQLi, если проблема в этом.

Внимание
Данное расширение устарело, начиная с версии PHP 5.5.0, и удалено в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL.

https://www.php.net/manual/ru/function.mysql-conne...

Как отладить(может пригодиться):
проверь что в $result находится:
$result = mysql_query("SELECT * FROM country");
var_dump($result);


Если с версией PHP все ок, то посмотри, какие ошибки выводяться:
mysql_error
mysql_errno

Ну и я надеюсь, вывод ошибок включен?
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL);


И как заметили в комментариях, дамп базы не забыли загрузить?
Если нет, то проверьте данные для подключения, название бд\таблиц, все сходится?
Ответ написан
@kirill270999 Автор вопроса
Дорогие господа! Благодарю вас за помощь! За подсказ о проверке. Благодаря ей я узнал, что проблема была В подключении, а именно в ПРОБЕЛЕ!!!!!!
$db_host = "localhost";
$db_user = "Имя";
$db_password = "Пароль";
$db_base = " База"; --- Вот из-за этого пробела я провозился целый день!!!!)))))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы