0 / 0 / 8
Регистрация: 17.10.2012
Сообщений: 289
1
MySQL

Неправильный результат запроса

03.07.2015, 16:04. Показов 1121. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вопрос запрос не вернул мне то что нужно. Ищу в бд
PHP
1
2
3
4
5
6
7
8
9
$query1=mysqli_query($connect, "SELECT * FROM otvety1 WHERE Otvet='$text'");
        if(mysqli_num_rows($query1)>0){
            $bd_stroka=mysqli_fetch_array($query1);
            $otvet=$bd_stroka['Otvet'];
            echo ("<br>Ответы совпадают=".$otvet);
        }
        else{
            echo("<br>Такого ответа нет");
        }
Не находит хотя он есть я лично проверял.
Пропустил через var_dump
PHP
1
        var_dump($text);
вывел string(13) "take out food" .
Все проверил, пересчитал количество символов, всеравно не находит, что здесь может быть не так?
Если ввожу
PHP
1
$query1=mysqli_query($connect, "SELECT * FROM otvety1 WHERE Otvet='take out food'");
тогда находит.
Еще такой вопрос, если допустим я хочу найти что-то вроде такого "that's a fact jack", то выдает ошибку ибо присутствует знак"'", что можно придумать?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.07.2015, 16:04
Ответы с готовыми решениями:

Как результат запроса другого результата запроса запихнуть в массив?
Как результат запроса другого результата запроса запихнуть в массив? Здравствуйте, у меня такая вот...

Mysql выдает неправильный результат
Я написал скрипт проверки баланса пользователя . &lt;?php session_start(); $login=root;...

PHP выдаёт неправильный результат по запросу из базы
Суть вопроса в следующем. Через PHP делаю запрос в базу, всегда выдаёт только один результат. Хотя...

Результат запроса
Доброе время суток! Есть такая строка mysql_query(&quot;INSERT jb_notes_user SET...

9
18 / 18 / 12
Регистрация: 10.03.2015
Сообщений: 77
03.07.2015, 16:51 2
1. Вот так попробуйте
PHP
1
2
$query= "SELECT * FROM otvety1 WHERE Otvet='".$text."'";
$query1=mysqli_query($connect, $query);
2.mysqli.real-escape-string или зашифровать каким-то порядком символов (zzz, например), потом распарсить
1
14 / 14 / 13
Регистрация: 03.07.2015
Сообщений: 130
03.07.2015, 17:08 3
Во-первых, необходимо удостовериться, что переменная $text не пуста и содержит необходимое значение (выводим ее перед запросом и смотрим, правильная ли)
Во вторых, перед тем, как совать ее в запрос, обрабатывать $text = mysql_real_escape_string($text);
1
0 / 0 / 8
Регистрация: 17.10.2012
Сообщений: 289
03.07.2015, 17:36  [ТС] 4
Цитата Сообщение от cheshirskydimk Посмотреть сообщение
Во-первых, необходимо удостовериться, что переменная $text не пуста и содержит необходимое значение (выводим ее перед запросом и смотрим, правильная ли)
В переменной все есть, прогнал через mysql_real_escape_string, результат тот же.

Добавлено через 7 минут
1.
Цитата Сообщение от kitlum Посмотреть сообщение
1. Вот так попробуйте
Код PHPВыделить код
1
2
$query= "SELECT * FROM otvety1 WHERE Otvet='".$text."'";
$query1=mysqli_query($connect, $query);
Результат тот же, прогнал даже через mysql_real_escape_string.
2. спасибо, сделал так
PHP
1
$text = mysql_real_escape_string("that's a fact jack");
Ну а с первым я даже не знаю что...
0
14 / 14 / 13
Регистрация: 03.07.2015
Сообщений: 130
03.07.2015, 19:20 5
ну а сделай перед запросом
echo "SELECT * FROM otvety1 WHERE Otvet='$text'";
что выдает?
1
0 / 0 / 8
Регистрация: 17.10.2012
Сообщений: 289
03.07.2015, 22:25  [ТС] 6
если так:
PHP
1
echo "SELECT * FROM otvety1 WHERE Otvet='$text'";
выдает:SELECT * FROM otvety1 WHERE Otvet='take out food'
если так:
PHP
1
2
        $text = mysql_real_escape_string($text);
        echo "SELECT * FROM otvety1 WHERE Otvet='$text'";
выдает:SELECT * FROM otvety1 WHERE Otvet='take\nout food'

Мне как бы не хотелось скринить бд, показывать как я к ней подключаюсь и т.д. Ибо с другим текстом оно ищет как ни крути.
0
14 / 14 / 13
Регистрация: 03.07.2015
Сообщений: 130
03.07.2015, 22:44 7
Лучший ответ Сообщение было отмечено smokehawker как решение

Решение

Ну, если я правильно понял, у тебя там \n это знак перевода строки между take и out. Как он туда попадает?
1
0 / 0 / 8
Регистрация: 17.10.2012
Сообщений: 289
06.07.2015, 11:10  [ТС] 8
все разобрался, заменил просто символ \n на пробел, его просто видно не было.
0
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 3
14.07.2015, 08:20 9
Незнаю куда написать и как объяснить правильно.
Вообщем у меня есть база на mysql(имеются таблицы id,text,url) и php страница на котором выводится таблица из БД. При выводе указываю id, text, url ссылку на ту вещь. Всё бы отлично выводится кроме url ссылки - она выводится без символа ":" http//localhost/item/guitar.htm
Как можно это исправить?
0
0 / 0 / 8
Регистрация: 17.10.2012
Сообщений: 289
15.07.2015, 11:51  [ТС] 10
если в бд он есть, то по идее должен выводиться.
0
15.07.2015, 11:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.07.2015, 11:51
Помогаю со студенческими работами здесь

Результат mysql запроса
Всем привет. Проблема такая: почему то при выполнении запроса, mysql_num_rows($Result) = 0, хотя...

Пустой результат запроса
Как в ПШП узнать, что запрос из базы вернулся пустой?

Не выводит результат запроса
есть вот такой запрос $result = mysql_query(&quot;SELECT users_access.uslugi, uslugi.name FROM...

Проверить результат запроса
Здравствуйте, составил запрос $sql=&quot;SELECT MIN(cn) as cn from ldqx1_u_cl where `id_cont`=&quot;.$z_id;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru