За последние 24 часа нас посетили 55010 программистов и 1749 роботов. Сейчас ищут 792 программиста ...

Пропускает первую запись в таблице

Тема в разделе "PHP и базы данных", создана пользователем kolhoz, 11 ноя 2016.

  1. kolhoz

    kolhoz Активный пользователь

    С нами с:
    7 ноя 2016
    Сообщения:
    31
    Симпатии:
    0
    Здравствуйте. Почему при выполнении запроса первая запись в таблице пропускается? Как установить курсор перед первой записью?
     
  2. kolhoz

    kolhoz Активный пользователь

    С нами с:
    7 ноя 2016
    Сообщения:
    31
    Симпатии:
    0
    Вот код:

    PHP:
    1.         <?php
    2.             //Подключаемся к БД
    3.             $link = mysqli_connect('localhost', 'slovar', '123456', 'slovar');
    4.                 if (mysqli_connect_errno()) {
    5.                     printf("Connect failed: %s\n", mysqli_connect_error());
    6.                     exit();
    7.                 }
    8.            
    9.             //Записываем в переменную данные введенные в поле word
    10.             $form_word=htmlspecialchars(trim($_POST['word']));  
    11.             //Создаем новый массив
    12.             $arrayTanslation = array();
    13.             //Проверяем, если переменная form_word не пустая
    14.             if ($form_word) {
    15.                 //Выбираем
    16.                 $query="SELECT * FROM `ruslak` where `word` ='" . $form_word. "' ";
    17.                 $query2="SELECT * FROM `lakrus` where `word` ='" . $form_word. "' ";
    18.                 $sql=mysqli_query($link, $query);
    19.                 $sql2=mysqli_query($link, $query2);
    20.                 //Записываем в массив arrayTanslation данные из результат выборки
    21.                 while($data = mysqli_fetch_assoc($sql)){
    22.                     array_push($arrayTanslation, $data["translation"]);
    23.                 }
    24.                 while($data2 = mysqli_fetch_assoc($sql2)){
    25.                     array_push($arrayTanslation, $data2["translation"]);
    26.                 }
    27.                 mysqli_free_result($data);
    28.                 mysqli_free_result($data2);
    29.             }
    30.         ?>
     
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Это не защита от инъекций, и вообще это немного вандализм над данными, не надо так делать. Обязательно почитайте про mysql_real_escape_string().

    Далее, вы пробовали вывести $query и $query2 просто в виде текста, и, затем, вбить его их руками в БД напрямую? Результат тот же? Скорее всего это не про PHP и Базы данных, а проблема чисто с тем, что вы просите у БД. В коде у вас вроде все ок.
     
  4. kolhoz

    kolhoz Активный пользователь

    С нами с:
    7 ноя 2016
    Сообщения:
    31
    Симпатии:
    0
    Пробовал выводится
    PHP:
    1. SELECT * FROM `ruslak` where `word` ='слово которое ввел'
     
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    И что будет, если это отдать БД? Результат тот, который нужен? Или такой же, как при передаче через PHP?