PHP.SU

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

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

> Найдено сообщений: 24
Danxil Отправлено: 07 Апреля, 2014 - 13:05:05 • Тема: Не работает запрос • Форум: Работа с СУБД

Ответов: 2
Просмотров: 802
Есть код
PHP:
скопировать код в буфер обмена
  1.  
  2. $stmt = $this->db->prepare('SELECT name, id FROM user WHERE login = ? AND password = ?;');
  3.                        
  4. $stmt->execute(array($data->login, md5($data->password)));
  5.                        
  6. $response = $stmt->fetchObject();
  7.                        
  8. var_dump($response);
  9.  


В результате выводится flase, хотя такая строка в таблице точно есть. Захожу в таблицу логов - смотрю это запрос - SELECT name, id FROM user WHERE login = 'user1' AND password = '202cb962ac59075b964b07152d234b70'

Запускаю кго из консоли - все ок, выводится это поле. Почему в php выходит false ?
Danxil Отправлено: 05 Апреля, 2014 - 17:10:38 • Тема: Синтаксическая ошибка при $stmt->bindParam • Форум: Работа с СУБД

Ответов: 2
Просмотров: 889
Блин, точно
Danxil Отправлено: 05 Апреля, 2014 - 16:51:53 • Тема: Синтаксическая ошибка при $stmt->bindParam • Форум: Работа с СУБД

Ответов: 2
Просмотров: 889
Код:
PHP:
скопировать код в буфер обмена
  1.  
  2. $stmt = $this->db->prepare('SELECT name, id FROM user WHERE login = :login AND password = md5(:password);');
  3.  
  4. var_dump($stmt); // object(PDOStatement)#6 (1) {
  5. //["queryString"]=> string(77) "SELECT name, id FROM user WHERE login = :login AND //password = md5(:password);"
  6. }
  7.  
  8. /*line50:*/$stmt->bindParam(':login', data->login);
  9. $stmt->bindParam(':password', data->password);
  10.                        
  11. $stmt->execute();
  12.                        
  13. $response = $stmt->fetchObject();
  14.                        
  15. if ($response)
  16.         return $response;
  17. else
  18.         return false;
  19. }
  20.  


На строке 50 пишет ошибку - Parse error: syntax error, unexpected T_OBJECT_OPERATOR in * on line 50

В чем проблема ?
Danxil Отправлено: 23 Марта, 2014 - 15:45:41 • Тема: Вопрос по архитектуре бд • Форум: SQL и Архитектура БД

Ответов: 1
Просмотров: 18
В общем есть задача организовать процедуру авторизации пользователей и спроэктировать бд для этого. Есть 3 значения: логин, пароль и имя пользователя. Почитал я про нормальные формы - http://i-novice[dot]net/6-normalnyx-form-bd/ и сделал базу данных такого вида:
Таблицы:
user
passwor
name

поля таблицы user:
id, login

поля таблицы passwor:
id, passwor

поля таблицы name:
id, name

Но человек, который дал это задание сказал что это неправильно, а правильно вот так:
Таблицы:
user

поля таблицы user:
id, login, password, name

Но я так понимаю эта таблица не соответствует 3й нормальной форме?
Danxil Отправлено: 21 Марта, 2014 - 15:57:40 • Тема: Ошибка при подключении к базе данных • Форум: Работа с СУБД

Ответов: 0
Просмотров: 902
При подключении к базе пишет следующую ошибку, хоя хост, имя базы, логин и пароль указаны верные
PHP:
скопировать код в буфер обмена
  1.  
  2. Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[28000] [1045] Access denied for user 'danxil_autho2'@'localhost' (using password: YES)' in /home/d/danxil/danxil.pp.ua/public_html/authorisation2/libraries/DBConnection.php:15
  3.  
Danxil Отправлено: 03 Марта, 2014 - 16:51:08 • Тема: Лишние пробелы и переносы строк • Форум: Вопросы новичков

Ответов: 2
Просмотров: 153
IllusionMH пишет:
Danxil, посмотрите на свой код: у вас есть отступы(форматирование кода) и переносы строк вокруг блока с php кодом. Эти отступы никуда не исчезают.
Просто $text формируйте выше, а выводите как
CODE (htmlphp):
скопировать код в буфер обмена
  1. <p class="js__author-name"><? echo $text; ?></p>
Спасибо, помогло !
(Добавление)
Тот, кто испоганил мне базу - дебил конченый
Danxil Отправлено: 03 Марта, 2014 - 16:27:23 • Тема: Лишние пробелы и переносы строк • Форум: Вопросы новичков

Ответов: 2
Просмотров: 153
В общем есть такоей код
PHP:
скопировать код в буфер обмена
  1.  
  2. <td class="catalog__cell">
  3.         <p class="js__author-name">
  4.         <?
  5.                 $text = $item->author_first_name . ' ' . $item->author_last_name;
  6.                 echo trim($text);
  7.         ?>
  8.         </p>
  9. </td>
  10.  


В $item->author_first_name лежит строка 'Федор'
В $item->author_last_name лежит строка 'Достоевский'

При отображении появляются лишние пробелы и переносы строки:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <p class="js__author-name">
  3.                                                                 Александр Пушкин                                                           </p>
  4.  


Эти пробелы тянутся и в js когда содержимое тега <p> вставляется в input через innerHTML

С другими аналогичными полями все нормально, я уже голову себе сломал. В чем может быть проблема?

Функция trim() не помогает.
Danxil Отправлено: 13 Февраля, 2014 - 12:24:10 • Тема: Проблема с кодировкой • Форум: Работа с СУБД

Ответов: 1
Просмотров: 593
Неужели никто не сталкивался с такой проблемой ?
Danxil Отправлено: 12 Февраля, 2014 - 21:31:55 • Тема: Проблема с кодировкой • Форум: Работа с СУБД

Ответов: 1
Просмотров: 593
В таблице есть поле с типом varchar, если я записываю в него значение кириллицей, оно сохраняется в виде крокозябр, но если в запросе перед значением поставить N:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. insert into history_books__name (book_name,id) values (N'Метель',4);
  3.  

то все ок.
Как можно этого избежать? Все файлы в кодировке utf-8, база тоже в utf-8
Danxil Отправлено: 12 Февраля, 2014 - 20:33:28 • Тема: Как получить атрибуты полей ? • Форум: Работа с СУБД

Ответов: 6
Просмотров: 1148
Ясно спс
Danxil Отправлено: 12 Февраля, 2014 - 19:02:21 • Тема: Как получить атрибуты полей ? • Форум: Работа с СУБД

Ответов: 6
Просмотров: 1148
А можно как то одним запросом вывести значения поля которое является primeval key ?
Типа
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT {prim_key} FROM TABLE WHERE id = 1
Danxil Отправлено: 12 Февраля, 2014 - 18:17:37 • Тема: Как получить атрибуты полей ? • Форум: Работа с СУБД

Ответов: 6
Просмотров: 1148
Я получил все поля из таблицы через
CODE (SQL):
скопировать код в буфер обмена
  1. [/code]SELECT * FROM TABLE WHERE id = 1; [code=SQL]
Как теперь узнать какие стоят атрибуты у этих полей, например как узнать какое из них primeval key? Где хранится эта информация ?
Danxil Отправлено: 11 Февраля, 2014 - 12:22:12 • Тема: Не создается таблица из php • Форум: Работа с СУБД

Ответов: 4
Просмотров: 751
Все разобрался, у меня $query ниже переопределялась, надо ночью спать ...
Danxil Отправлено: 11 Февраля, 2014 - 11:24:24 • Тема: Не создается таблица из php • Форум: Работа с СУБД

Ответов: 4
Просмотров: 751
anakoman пишет:
а с БД есть соединение?
Да, пишет же синтаксическую ошибку, другие запросы работают
Danxil Отправлено: 11 Февраля, 2014 - 03:52:02 • Тема: Не создается таблица из php • Форум: Работа с СУБД

Ответов: 4
Просмотров: 751
На сервере есть следующее:
PHP:
скопировать код в буфер обмена
  1.  
  2. $query = 'create table history_books__name (book_name varchar(45));';
  3.  
  4. $link->query($query);
  5. print_r($link->error);
  6.  

При выполнении пишет:
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 'varchar(45)' at line 1

Когда выполняю этот же запрос из консоли таблица создается и все ок, на сервере другие запросы работают. В чем проблема ?

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB