Совсем зеленый, запутался в своем говнокоде. У нас есть две таблицы 1- id, email ; 2- user_id, name, sname. Надо найти пользователя по email и сразу же выдать результат на этой же странице, кнопка готова. Предполагаю что я бомбанул адский трэш в sql запрос.В один момент мне все стало выводить, но только первого пользователя (несмотря на то что я искал и других) и не понимая кирилицы. Прошу кидаться камнями. Код (PHP): <?php $hostname='localhost'; $username='root'; $password=''; $dbname='library'; $db = mysql_connect($hostname,$username,$password) OR DIE ('no connection'); mysql_select_db("library", $db) or die ('Unpossible to choose'); $query = mysql_query('SELECT a.id, a.name, a.sname, a.email from user a join user_info b on b.user_id = a.id where a.email = "'.$email.'"'); if (!$result) { echo '<li>nothing found</li>'; echo exit(mysql_error()); }else { while ($result = mysql_fetch_array($query)); {echo $result['id']." ".$result['name']." ".$result['sname']." ".$result['email'];} } ?> PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Код (PHP): $result = mysql_query('SELECT a.id, a.name, a.sname, a.email from users a join user_info b on b.user_id = a.id where a.email = "'.$email.'"'); Что-то типа этого. Пора отказываться от mysql_*
Правильно, потому что ты только один элемент вытаскиваешь Код (PHP): $result = mysql_fetch_array($query); А надо Код (PHP): while($result = mysql_fetch_array($query)){ // work with $result }
Нет, имею ввиду что когда даже я все закрываю или указываю в action HTML файла другой php файл, то (как понимаю) он продолжает читать из буфера и выдавать 1
У меня просто нет другого объяснения почему это происходить, потому то и спрашиваю у более опытных , почему так может происходить
a) я сказал что даже когда в html указываю другой php файл, левый, то он выдает 1, раньше выдавал Id имя и фамилию, но кирилицу не отображал б) как сделать так чтобы вывод шел на этой же самой странице под поиском
И еще, подскажите пожалуйста братцы, как можно было бы оформить этот кусок кода не с помощью mysql, а с помощью PDO?
Вот то что есть Код (PHP): <?php $hostname='localhost'; $username='root'; $password=''; $dbname='library'; $db = mysql_connect($hostname,$username,$password) OR DIE ('no connection'); mysql_select_db('library', $db) or die ('Unpossible to choose'); $query = mysql_query('SELECT a.id, a.name, a.sname, a.email from user a join user_info b on b.user_id = a.id where a.email = "'.$email.'"'); if (!$result) { echo '<li>nothing found</li>'; echo exit(mysql_error()); }else { while ($result = mysql_fetch_array($query)); {echo $result['id']." ".$result['name']." ".$result['sname']." ".$result['email'];} } ?> Вот что выдает :
нет такого поля в таблице а. Код (PHP): 'SELECT a.id, a.name, a.sname, a.email from user a join user_info b on b.user_id = a.id where a.email = "'.$email.'"' что по твоему тут происходит?
Немного стыдно за свою глупость, но мы по мэйлу (которые я ввожу и получаю данный ответ) ищем пользователя из таблицы "a" которую соединили со второй таблицой, или я не так понимаю?
это дамп таблицы user_info Добавлено спустя 1 минуту 46 секунд: попробуй выполнять запрос из PHPMyAdmin и отлаживать.
То бишь мне в phpmyadmin нужно было собрать новую таблицу, или добавить старой обозначения ( вместо name a.name напр)? Добавлено спустя 12 минут 28 секунд: Полный запрос не выполняется, а когда ищу a.id a.email , то выполняет запрос и выводит пустой результат