Ashlst
@Ashlst
Фанат эстетики и красивых решений.

Непонятная работа скрипта.Почему mysqli_query() возвращает пустой объект?

Добрый день.
Нужен,Ваш совет по поводу работы скрипта.
$city =  iconv('windows-1251', 'UTF-8', $_GET['city']);
    $departament =  iconv('windows-1251', 'UTF-8', $_GET['departament']);
    $host = *************;
    $user = *************;
    $pass = *************;
    $data_base = **********;
    $connect = mysqli_connect($host,$user,$pass,$data_base) or die('Could not connect: ' . mysqli_error($connect));
    $sql="SELECT  * FROM 'имя таблицы' WHERE city = '".$city."'OR departament = '".$departament."'";
    $result = mysqli_query($connect,$sql) or die("ERROR: ".mysqli_error($connect));
    while($row = mysqli_fetch_array($result)){
        echo<<<"OUTPUT_DATA"
            <a href= $row[href] class="sj-j" data-r="34" data-c="9 ">
                <em><b>$row[vacancy]</b></em>
                <div></div>
                <i>$row[city]</i>
            </a>
OUTPUT_DATA;
    }
    mysqli_close($connect);


Задача : есть база данных с таблицей вакансий (вакансия,требования,город..и т.д). Нужно на сайте сделать форму,что-то похожее на www.work.ua/jobs/by-company/297373/ (под описанием компании,"открытые вакансии").

Как делал: Через ajax - запрос получаю необходимый параметр (город или раздел) и затем в php - скрипте это все обрабатываю(код приведен выше).При разработке и отладке на OpenServer все работало.При переносе на сайт,перестала выводится информация,т.е. я выбираю необходимый город или раздел и собственно,все..ничего не показывает.
100 раз перепроверил логин,пароль,хост и имя бд,все введено правильно.Пробелов после echo<<<"OUTPUT_DATA" тоже нет.
Непонятно почему var_dump($result); возвращает object(mysqli_result)#2 (0) { } ?
Может ли это быть связано с версией php? (на сайте 5.2.) на openserver (5.3).

Подскажите,пожалуйста,в чем моя ошибка?
  • Вопрос задан
  • 568 просмотров
Пригласить эксперта
Ответы на вопрос 3
@fxpelive
мастер костыльного программирования
WHERE city = '".$city."'OR
Где пробел перед OR ?
Ответ написан
Комментировать
myfirepukan
@myfirepukan
Жарим поиск
1.
or die (mysql_errno() . ": " . mysql_error(). "\n");

2.
while($row = mysqli_fetch_array($result)){
$did[] = $row;
}
var_dump($did);

И смотрите что var_dump кажет
Ответ написан
@fedot1325
$mysqli = new mysqli($host, $user, $pass, $data_base);

$vacancies = $mysqli->prepare("SELECT * FROM 'имя таблицы' WHERE city = ? OR departament = ?");
        if ($vacancies) {
            $vacancies->bind_param('ss', $city, $departament); 
            $vacancies->execute();
            $vacancies->store_result();
            $countRows = $vacancies->num_rows;
            if ($countRows != 0){
            //на каждый столбец нужно забиндить по переменной, либо указывать в SELECT конкретные и биндить конкретные.
              $vacancies->bind_result($href, $vacancy, $city_result, $departament_result); 
                while ($vacancies->fetch()) {
                      echo '<a href="' . $href . '" class="sj-j" data-r="34" data-c="9 ">
                                <em><b>' . $vacancy . '</b></em>
                                <div></div>
                                <i>' . $city_result . '</i>
                            </a>';
                }
            }
            else{
                echo 'По вашему запросу ничего не найдено';
            }
        }
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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