Здравствуйте. Почему при выполнении запроса первая запись в таблице пропускается? Как установить курсор перед первой записью?
Вот код: PHP: <?php //Подключаемся к БД $link = mysqli_connect('localhost', 'slovar', '123456', 'slovar'); if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } //Записываем в переменную данные введенные в поле word $form_word=htmlspecialchars(trim($_POST['word'])); //Создаем новый массив $arrayTanslation = array(); //Проверяем, если переменная form_word не пустая if ($form_word) { //Выбираем $query="SELECT * FROM `ruslak` where `word` ='" . $form_word. "' "; $query2="SELECT * FROM `lakrus` where `word` ='" . $form_word. "' "; $sql=mysqli_query($link, $query); $sql2=mysqli_query($link, $query2); //Записываем в массив arrayTanslation данные из результат выборки while($data = mysqli_fetch_assoc($sql)){ array_push($arrayTanslation, $data["translation"]); } while($data2 = mysqli_fetch_assoc($sql2)){ array_push($arrayTanslation, $data2["translation"]); } mysqli_free_result($data); mysqli_free_result($data2); } ?>
Это не защита от инъекций, и вообще это немного вандализм над данными, не надо так делать. Обязательно почитайте про mysql_real_escape_string(). Далее, вы пробовали вывести $query и $query2 просто в виде текста, и, затем, вбить его их руками в БД напрямую? Результат тот же? Скорее всего это не про PHP и Базы данных, а проблема чисто с тем, что вы просите у БД. В коде у вас вроде все ок.
И что будет, если это отдать БД? Результат тот, который нужен? Или такой же, как при передаче через PHP?