Задавайте вопросы, мы ответим
Вы не зашли.
<?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)
Неактивен
Что значит "не отрабатывается правильно"?
Неактивен
я запросе сравниваю значение поля с переданным POST значением переменной. а запрос не отрабатывает правильно, то есть два значение не сравниваются и выводится BAD.
Неактивен
Вместо
else echo '<br>BAD';
поставте
else echo $sql."<br>".mysql_error();
Неактивен
Все также, походу дела запрос вообще не отрабатывает. Такое ощущение что сервак заснул...
Кто нибудь знает что делать?
Отредактированно lordreal (05.02.2012 23:16:01)
Неактивен
Но таки Васино решение примените к своему коду?
Ну и сразу наводящий вопрос — в PHP в одинарные кавычки разве интерполируются
значения переменных?
Also: Это не форум по PHP
Неактивен
пример Vasya применил не реагирует, а нсачет одинарных кавычек все норм.
Неактивен
$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;
нужно заменить на
select * from `vopros` where `id`= 1 and `vopr`= 'Question number one is?' and `otv`= 'Answer4';
и все будет хорошо (с).
Отредактированно deadka (06.02.2012 20:07:53)
Неактивен
и все будет плохо после этого кода (с)
Неактивен
lordreal, сделайте вот это:
vasya написал:
Вместо
else echo '<br>BAD';
поставте
else echo $sql."<br>".mysql_error();
и потом скажите, что на экран выводится.
Неактивен
Выводится select * from vopros where id=1 and vopr=Question number is one? and otv=Answer1 смотреть пост сверху.
Такой же sql запрос работает на авторизации и все без проблем. Странно однако...ХЗ
Отредактированно lordreal (06.02.2012 23:07:09)
Неактивен
Ничего странного нет. Как уже указал в 9ом посте deadka должно быть
select * from `vopros` where `id`= 1 and `vopr`= 'Question number one is?' and `otv`= 'Answer4';
т.е. вам нужно исправить скрипт формирующий запрос, чтобы переменная $sql приняла вид указанный выше.
и все будет хорошо (с).
Неактивен
vasya написал:
Ничего странного нет. Как уже указал в 9ом посте deadka должно быть
select * from `vopros` where `id`= 1 and `vopr`= 'Question number one is?' and `otv`= 'Answer4';
т.е. вам нужно исправить скрипт формирующий запрос, чтобы переменная $sql приняла вид указанный выше.
и все будет хорошо (с).
Исправил. Переменная $sql принимает указанный выше вид. А сравнение не работает...или я что то не то делаю...При выборе любого ответа выводится OK. Так не должно быть.
Неактивен
lordreal написал:
При выборе любого ответа выводится OK. Так не должно быть.
Так и должно быть.
if ($res) /* А скажи-ка сервер, успешен ли был мой запрос? "Да, всё OK" - отвечает сервер, так как успешность выполнения запроса не зависит от кол-ва возвращаемых строк.*/
Неактивен
vasya написал:
lordreal написал:
При выборе любого ответа выводится OK. Так не должно быть.
Так и должно быть.
if ($res) /* А скажи-ка сервер, успешен ли был мой запрос? "Да, всё OK" - отвечает сервер, так как успешность выполнения запроса не зависит от кол-ва возвращаемых строк.*/
Понял. А как тогда мне реализовать сравнение...?
Неактивен
Например, смотреть кол-во возвращаемых строк.
Но это уже офтоп, вопросы по php задавайте на webew.ru/php/
Неактивен