[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: поиск по БД
Slavka13
здрасте. пытаюсь сделать выборку по БД. Что то не катит. Запрос верно написан, но результат не выводится. помогите кто чем может



Спустя 10 минут, 14 секунд (29.05.2010 - 20:33) igor717 написал(а):
Ты бы хоть запрос показал...

Спустя 18 минут, 49 секунд (29.05.2010 - 20:52) Slavka13 написал(а):
$sql="SELECT 'student'.'Nomer_bileta' FROM student WHERE (('student'.'FamiliaST' =$Fam) AND ('student'.'ImayST' =$FNAME) AND ('student'.'OtchestvoST' =$LNAME));";
$zapros1=mysql_query($sql,$soed);
$stroki1=mysql_num_rows($zapros1);
echo "Количество строк в запросе: $stroki1 <br>";
$polya1=mysql_num_fields($zapros1);
echo "Количество полей в запросе: $polya1 <br>";
echo "<br>";
echo $zapros1;
for ($st=0; $st<$stroki1; $st++){
$bilet =mysql_fetch_array($zapros1);
echo "$bilet[FamiliaST] $bilet[ImayST] $bilet[OtchestvoST] $bilet[Nomer_biletai] <br>";}




сам запрос в одну строку записан

Спустя 2 минуты, 6 секунд (29.05.2010 - 20:54) Slavka13 написал(а):
переменные $Fam, $FNAME, $LNAME имеют значения, проверял

Спустя 2 минуты, 29 секунд (29.05.2010 - 20:57) Basili4 написал(а):
А сам запрос phpmyadmin проверял

Спустя 16 минут, 22 секунды (29.05.2010 - 21:13) Slavka13 написал(а):
проверял, работает

Спустя 55 секунд (29.05.2010 - 21:14) Basili4 написал(а):
Параметры 'student'.'FamiliaST' =$Fam перепиши так 'student'.'FamiliaST' ='$Fam'
Все строки должны быть в кавычках

Спустя 23 минуты, 28 секунд (29.05.2010 - 21:37) Slavka13 написал(а):
вот ошибка :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\diplom\ready.php on line 21

21 строка :
$stroki1=mysql_num_rows($zapros1);

Запрос в кавычках, переменные тоже.

Спустя 1 минута, 31 секунда (29.05.2010 - 21:39) mako написал(а):
Я так смекаю ты выбираешь номер билета соответствующий студенту
и в результате(при условии, что условия совпадут, smile.gif ) получаешь только одну колонку.

$bilet['Nomer_bileta'] // так попробуй обратиться

и у тя там куча очепятак

echo "$bilet['FamiliaST'] $bilet['ImayST'] $bilet['OtchestvoST'] $bilet['Nomer_biletai'] <br>";

Спустя 1 минута, 29 секунд (29.05.2010 - 21:40) Basili4 написал(а):
Допиши к mysql_query () or die(mysql_error())

Спустя 20 минут, 46 секунд (29.05.2010 - 22:01) Slavka13 написал(а):
Mako, верно смекаешь. я немного не понял на счет "так попробуй обратиться". Поясни. опечатку исправил. дописал "or die(mysql_error())".
браузер вывел:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.'Nomer_bileta' FROM student WHERE (('student'.'FamiliaST' ='Соколов') AND ('stu' at line 1

Просмотрел указанное, но так и не понял что не так.

Спустя 35 минут, 42 секунды (29.05.2010 - 22:37) Basili4 написал(а):
Вместо 'student'.'Nomer_bileta' напиши student.Nomer_bileta если не получится поставь * смтри что будет

Спустя 7 минут, 20 секунд (29.05.2010 - 22:44) mako написал(а):
Ясно кароч ты не правильно к столбику обращаешься

SELECT `student`.`Nomer_bileta`

Названия таблиц и столбиков бери в обратную кавычку (там де тильда, или Ё).
SELECT `student`.`Nomer_bileta` FROM `student` WHERE ((`student`.`FamiliaST` ='{$Fam}' // тута прямая кавычка
) AND (`student`.`ImayST` ='{$FNAME}') AND (`student`.`OtchestvoST` ='{$LNAME}'));


mysql_real_escape_string($Fam);
mysql_real_escape_string($LNAME);
mysql_real_escape_string($FNAME);// добавь перед запросом во избежание глюков

while($row=mysql_fetch_assoc($sapros1)){
echo $row['Nomer_bileta'];} //типо этого обращаться с результатом запроса

Спустя 30 минут, 58 секунд (29.05.2010 - 23:15) Slavka13 написал(а):
заменил кавычки на обратные, от глюков код вставил, название таблицы из которой данные выбираю без кавычек написал.
с этим: while($row=mysql_fetch_assoc($sapros1)){echo $row['Nomer_bileta'];
непонял че делать biggrin.gif .
Браузер вывел : Unknown column 'Соколов' in 'where clause'
Перевод : Неизвестная колонна 'РРUРTРUР РUР в 'где статья'


Спустя 21 минута, 53 секунды (29.05.2010 - 23:37) mako написал(а):
кодировки как всегда парят мозг
название столбца(т.е Nomer_bileta) приходит в мускул в хз в какой кодировке;
используй mysql_get_charset() чтобы получить кодировку;
Примерно так

$ch=mysql_get_charset($soed);
echo $ch;

потом перекодируешь файл с кодом в полученную кодировку...
это конечно тупой метод,
пробей по форуму как менять кодировку соеденения, я не помню smile.gif

Спустя 11 часов, 36 минут, 55 секунд (30.05.2010 - 11:14) Slavka13 написал(а):
я там в начале файла прописал кодировку
mysql_query("set names cp1251");
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.