SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 05.02.2012 22:08:44

lordreal
Участник
Зарегистрирован: 05.02.2012
Сообщений: 9

Помогите разобраться что не так с sql запросом

<?php

include ('db_fns.php');

if (isset ($_POST['submit'])) {

$id = $_POST['id'];
$vopr = $_POST['vopr'];

$q1= $_POST['q'];

$qp = $_POST['qp'];

}

echo '<p>Results:<br>';


   if (!$q1=="") {
echo $q1.'<br>';}

echo $q1;
echo '<br>id'.$id;
echo '<br>vopros'.$vopr;

// Подключиться к базе данных
  $conn = db_connect();
  if (!$conn)
    return false;
$result = $conn->query($sql = "SELECT * FROM `vopros` LIMIT 0, 30 ");

if ($result->num_rows>0)

     $num_results = $result->num_rows;

  $i=1; $num_results=1;
while ($i<=$num_results)
    {
     $row = $result->fetch_assoc();
     echo 'Otvet: ';
     echo  $row['otv'].'<br>';
$o=$row['otv'];
echo $o;

$i++;
}

  $res = $conn->query($sql = 'select * from vopros where id="$id" and vopr="$vopr" and otv="$q1"' ); //именно этот запрос не отрабатывается правильно выводит BAD, а должен //выводить OK
  if ($res)
  echo '<br>OK';
   else echo '<br>BAD';

 
  // }

echo '<p><a href=" '.$qp.' ">Go Back </a>';


?>

Отредактированно lordreal (05.02.2012 22:21:01)

Неактивен

 

#2 05.02.2012 22:32:36

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите разобраться что не так с sql запросом

Что значит "не отрабатывается правильно"?

Неактивен

 

#3 05.02.2012 22:40:18

lordreal
Участник
Зарегистрирован: 05.02.2012
Сообщений: 9

Re: Помогите разобраться что не так с sql запросом

я запросе сравниваю значение поля с переданным POST значением переменной. а запрос не отрабатывает правильно, то есть два значение не сравниваются и выводится BAD.

Неактивен

 

#4 05.02.2012 22:50:06

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите разобраться что не так с sql запросом

Вместо
else echo '<br>BAD';
поставте
else echo $sql."<br>".mysql_error();

Неактивен

 

#5 05.02.2012 22:55:58

lordreal
Участник
Зарегистрирован: 05.02.2012
Сообщений: 9

Re: Помогите разобраться что не так с sql запросом

Все также, походу дела запрос вообще не отрабатывает. Такое ощущение что сервак заснул...
Кто нибудь знает что делать?

Отредактированно lordreal (05.02.2012 23:16:01)

Неактивен

 

#6 06.02.2012 02:42:39

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Помогите разобраться что не так с sql запросом

Но таки Васино решение примените к своему коду?

Ну и сразу наводящий вопрос — в PHP в одинарные кавычки разве интерполируются
значения переменных?

Also: Это не форум по PHP wink

Неактивен

 

#7 06.02.2012 07:34:55

lordreal
Участник
Зарегистрирован: 05.02.2012
Сообщений: 9

Re: Помогите разобраться что не так с sql запросом

пример Vasya применил не реагирует, а нсачет одинарных кавычек все норм.

Неактивен

 

#8 06.02.2012 18:45:07

lordreal
Участник
Зарегистрирован: 05.02.2012
Сообщений: 9

Re: Помогите разобраться что не так с sql запросом

$sql выводит такое значение - select * from "vopros" where "id"= 1 and "vopr"= Question number one is? and "otv"= Answer4

Неактивен

 

#9 06.02.2012 19:42:34

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Помогите разобраться что не так с sql запросом

Думаю
select * from "vopros" where "id"= 1 and "vopr"= Question number one is? and "otv"= Answer4;
нужно заменить на
select * from `vopros` where `id`= 1 and `vopr`= 'Question number one is?' and `otv`= 'Answer4';
и все будет хорошо (с).

Отредактированно deadka (06.02.2012 20:07:53)


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#10 06.02.2012 20:05:23

lordreal
Участник
Зарегистрирован: 05.02.2012
Сообщений: 9

Re: Помогите разобраться что не так с sql запросом

и все будет плохо после этого кода (с)

Неактивен

 

#11 06.02.2012 20:08:59

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: Помогите разобраться что не так с sql запросом

lordreal, сделайте вот это:

vasya написал:

Вместо
else echo '<br>BAD';
поставте
else echo $sql."<br>".mysql_error();

и потом скажите, что на экран выводится.

Неактивен

 

#12 06.02.2012 23:04:29

lordreal
Участник
Зарегистрирован: 05.02.2012
Сообщений: 9

Re: Помогите разобраться что не так с sql запросом

Выводится select * from vopros where id=1 and vopr=Question number is one? and otv=Answer1 смотреть пост сверху.
Такой же sql запрос работает на авторизации и все без проблем. Странно однако...ХЗ

Отредактированно lordreal (06.02.2012 23:07:09)

Неактивен

 

#13 06.02.2012 23:29:04

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите разобраться что не так с sql запросом

Ничего странного нет. Как уже указал в 9ом посте deadka должно быть
select * from `vopros` where `id`= 1 and `vopr`= 'Question number one is?' and `otv`= 'Answer4';

т.е. вам нужно исправить скрипт формирующий запрос, чтобы переменная $sql приняла вид указанный выше.
и все будет хорошо (с).

Неактивен

 

#14 08.02.2012 11:41:08

lordreal
Участник
Зарегистрирован: 05.02.2012
Сообщений: 9

Re: Помогите разобраться что не так с sql запросом

vasya написал:

Ничего странного нет. Как уже указал в 9ом посте deadka должно быть
select * from `vopros` where `id`= 1 and `vopr`= 'Question number one is?' and `otv`= 'Answer4';

т.е. вам нужно исправить скрипт формирующий запрос, чтобы переменная $sql приняла вид указанный выше.
и все будет хорошо (с).

Исправил. Переменная $sql принимает указанный выше вид. А сравнение не работает...или я что то не то делаю...При выборе любого ответа выводится OK. Так не должно быть.

Неактивен

 

#15 08.02.2012 13:53:27

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите разобраться что не так с sql запросом

lordreal написал:

При выборе любого ответа выводится OK. Так не должно быть.

Так и должно быть.
  if ($res)  /* А скажи-ка сервер, успешен ли был мой запрос? "Да, всё OK" - отвечает сервер, так как успешность выполнения запроса не зависит от кол-ва возвращаемых строк.*/

Неактивен

 

#16 08.02.2012 15:20:29

lordreal
Участник
Зарегистрирован: 05.02.2012
Сообщений: 9

Re: Помогите разобраться что не так с sql запросом

vasya написал:

lordreal написал:

При выборе любого ответа выводится OK. Так не должно быть.

Так и должно быть.
  if ($res)  /* А скажи-ка сервер, успешен ли был мой запрос? "Да, всё OK" - отвечает сервер, так как успешность выполнения запроса не зависит от кол-ва возвращаемых строк.*/

Понял. А как тогда мне реализовать сравнение...?

Неактивен

 

#17 08.02.2012 15:29:46

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите разобраться что не так с sql запросом

Например, смотреть кол-во возвращаемых строк.
Но это уже офтоп, вопросы по php задавайте на webew.ru/php/

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson