Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: вывод данных из бд

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: мне нужно вывести все данные из строчки где логин равен $login и пороль равен $pass
Артур Липин
Отправлено: 18 Апреля, 2017 - 22:30:35
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Апр. 2017  


Помог: 0 раз(а)




я токо начал учить php и sql вобщем еще плохо разбераюсь в этом
вот я написал такой код

PHP:
скопировать код в буфер обмена
  1. global $mysqli;
  2.         connectDB();
  3.         $result = $mysqli->query("SELECT * FROM `user`");
  4.         $row = $result->fetch_array(MYSQLI_ASSOC);
  5.         echo $row[id]."<br />".$row[login]."<br />".$row[pass]."<br />".$row[email]."<br />".$row[pol]."<br />".$row[status];
  6.         closeDB();

и у меня выводит такие данные
2
admin
e90d64a46bc2a229346138461707fd91
kingsaize@bk.ru
1
0

тоесть все правильно но мне нужно вывести данные в которых логин и пароль совпадает с записями сессии.
Как только я переписываю код так то не работает
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = $mysqli->query("SELECT * FROM `user` WHERE `login`='".$_SESSION['login']."' AND `pass`='".$_SESSION['pass']."'");


подскажите что я делаю не так? я уже искал где токо мог или я совсем тупой или чтот пропустил
(Добавление)
Не понял ??? Непонял! Что такое?

(Отредактировано автором: 18 Апреля, 2017 - 22:31:44)

 
 Top
andrewkard
Отправлено: 18 Апреля, 2017 - 23:37:52
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Дебажить нужно:
что так выводит?
PHP:
скопировать код в буфер обмена
  1.  
  2. echo "SELECT * FROM `user` WHERE `login`='".$_SESSION['login']."' AND `pass`='".$_SESSION['pass']."'";
  3.  

phpMyAdmin стоит? Попробуйте в нем выполнить этот запрос.
 
 Top
Артур Липин
Отправлено: 18 Апреля, 2017 - 23:51:29
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Апр. 2017  


Помог: 0 раз(а)




да у меня стоит phpmyadmin я сделал там запрос выводит 1 строку там где логин админ может я както с сессии неправильно вставляю?
(Добавление)
у меня в самом начале идет подключение к файлу
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         session_start();
  3.         $mysqli = false;
  4.         function connectDB(){
  5.                 global $mysqli;
  6.                 @$mysqli = new mysqli("localhost", "root", "", "new-kh");
  7.                 @$mysqli->query("SET NAMES 'utf8'");
  8.         }
  9.        
  10.         function closeDB(){
  11.                 global $mysqli;
  12.                 $mysqli->close();
  13.         }
  14.         connectDB();
  15.         if ($mysqli->connect_errno) {
  16.    include_once 'system/error.php';
  17.    exit;
  18.         }
  19.         closeDB();
  20.        
  21. ?>

тут включаются сесии и подключение к базе идет должно все работать
и вот сейчас еще проверил напрямую вбил логин и все заработало чтото точно с сессиями
PHP:
скопировать код в буфер обмена
  1. $result = $mysqli->query("SELECT * FROM `user` WHERE `login`='admin'");

(Добавление)
написал так и сессия выводит админ

в чем может быть причина?
 
 Top
Fart
Отправлено: 19 Апреля, 2017 - 08:28:49
Post Id



Посетитель


Покинул форум
Сообщений всего: 324
Дата рег-ции: Июль 2016  


Помог: 10 раз(а)




перед

PHP:
скопировать код в буфер обмена
  1. $result = $mysqli->query("SELECT * FROM `user` WHERE `login`='".$_SESSION['login']."' AND `pass`='".$_SESSION['pass']."'");


сделайте дамп

PHP:
скопировать код в буфер обмена
  1. var_dump("SELECT * FROM `user` WHERE `login`='".$_SESSION['login']."' AND `pass`='".$_SESSION['pass']."'");


что покажет?
 
 Top
Артур Липин
Отправлено: 20 Апреля, 2017 - 10:07:29
Post Id



Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Апр. 2017  


Помог: 0 раз(а)




Я вот тупанул у меня в сессии пароль не хешированый сохраняется поэтому при сравнении с базой показывает что неправильноУлыбка
Я все исправил теперь работает
 
 Top
esterio
Отправлено: 27 Апреля, 2017 - 02:04:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Артур Липин небольшое замечание символ @ (подавление ошибок) уберите лучше
 
 Top
Stanislav333
Отправлено: 27 Апреля, 2017 - 06:06:10
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Апр. 2017  


Помог: 0 раз(а)




Всех приветствую, вот уже второй день не могу справится с такой задачей, хочу сделать возможность удалять записи с помощью чекбокса, то есть выставляем галочки напротив записи(строки) 2-10 или более, а ниже нажатием на кнопку "Удалить всё" они удаляются. Таблица берется из базы данных, по одной записи удаляется легко, а с чекбоксом проблемы, всё прописал, выделяю несколько строк, нажимаю на кнопку, страница перезагружается, но записи не удаляются. Прошу помощи, предоставляю код ниже:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.     // соединение с базой данных
  3.     require_once 'connect.php';  
  4. ?>
  5.  
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
  8. <head>
  9. <title>Таблица</title>
  10. <meta content="text/html; charset=windows-1251" http-equiv="Content-Type" />
  11. <title>Таблица 2000 строк с фильтрацией</title>
  12. <link rel='stylesheet' href='classes.css' type='text/css'>
  13. <link rel='stylesheet' href='tabsort1.css' type='text/css'>
  14. <script type='text/javascript'>var d0 = new Date()</script>
  15. <script type='text/javascript' src='tabtools1.js'></script>
  16. <script type='text/javascript' src='tabsort1.js'></script>
  17. </head>
  18.  
  19. <?PHP
  20.      // Отображаем результаты
  21. echo '<p>Таблицы, имеющиеся в базе данных: </p>';
  22. echo "<table class='sortable' id='t' border=1 >";
  23.  
  24. echo "<col class='id'><col class='name'><col class='width'><col class='profile'><col class='radius'><col class='price'><col class='prices'><col class='sellers'><col class='season'><col class='status'>";
  25. echo "<thead>";
  26. echo "<tr>";
  27. echo "<th axis='num'>ID&nbsp;</th>";
  28. echo "<th>Улица&nbsp;</th>";
  29. echo "<th axis='num:alt'>Width&nbsp;</th>";
  30. echo "<th axis='num:alt'>Квартира&nbsp;</th>";
  31. echo "<th axis='num:alt'>Radius&nbsp;</th>";
  32. echo "<th axis='num'>Price&nbsp;</th>";
  33. echo "<th>Prices&nbsp;</th>";
  34. echo "<th axis='num'>Sellers&nbsp;</th>";
  35. echo "<th>Season&nbsp;</th>";
  36. echo "<th axis='num:alt'>Status&nbsp;</th>";
  37. echo "</tr>";
  38. echo "</thead>";
  39.  
  40. //Удаляем, если что
  41. if (isset($_GET['del'])) {
  42.     $result = mysql_query('DELETE FROM `user_profiles` WHERE `ID` = "'.$_GET['del'].'"');
  43.     if ($result) {
  44.         echo "<p>Товар удален.</p>";
  45.     } else {
  46.         echo "<p>Произошла ошибка.</p>";
  47.     }
  48. }
  49.  
  50. //Получаем данные
  51. echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">';
  52. $result = mysql_query("SELECT * FROM `user_profiles`") or trigger_error(mysql_error());
  53. while($row = mysql_fetch_array($result)){
  54. foreach($row AS $key => $value) { $row[$key] = stripslashes($value); }
  55. echo "<tr>";
  56. echo "<td valign='top'>" .$row['id']. "</td>";
  57. echo "<td axis='num' valign='top'>" .$row['mes']. "</td>";
  58. echo "<td valign='top'>" .$row['dom']. "</td>";
  59. echo "<td valign='top'>" .$row['kvar']. "</td>";
  60. echo "<td valign='top'>" .$row['password']. "</td>";
  61. echo "<td valign='top'>" .$row['phon']. "</td>";
  62. echo "<td valign='top'>" .$row['van1']. "</td>";
  63. echo "<td valign='top'>" .$row['van2']. "</td>";
  64. echo "<td valign='top'><a href=?del={$row['id']}>Delete</a></td> ";
  65. echo '<td><input type="checkbox" name="row[]" value="'.$row['id'].'" /></td>';
  66. echo "</tr>";
  67. }
  68. echo "</table>";
  69. echo '<input type="submit" name="submitForm" value="Удалить отмеченные" />';
  70.  
  71. if ( isset ( $_GET['row'] ) )
  72. {
  73.   $items = array();
  74.   foreach( $_GET['row'] as $value ) {
  75.     if ( ctype_digit($value) ) $items[] = $value;
  76.   }
  77.   if ( count($items) > 0 ) {
  78.     $ids = implode( ',', $items );
  79.     $query = 'DELETE FROM items WHERE id IN ('.$ids.')';
  80.     mysql_query( $query );
  81.   }
  82.   header( 'Location: '.$_SERVER['PHP_SELF'] );
  83. }
  84.  
  85. ?>


Страница выглядит так, смотреть ниже на рисунке:
Прикреплено изображение (Нажмите для увеличения)
111.jpg

(Отредактировано автором: 27 Апреля, 2017 - 06:07:24)

 
 Top
esterio
Отправлено: 27 Апреля, 2017 - 12:45:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Stanislav333 создайте свою отдельную тему.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB