Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создание бд и таблиц, помогите разбраться 
V
    Опции темы
tomolax
Дата 5.6.2008, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 9.4.2008
Где: город на Неве

Репутация: 1
Всего: 1



Код

//вносим данные в таблицу
mysql_query("insert into $table_name values ('0', 'Пупкин',
    'Василий', 'Петрович', 'pupkin', '123', 'Сотрудник');");


изменив ковычки, скрипт начал выводить, но опять же выводить не то, что нужно:
фамилия=A
имя=A
отчество=A
логин=A
пароль=A
категория=A


получается что запрос на ввод данных в таблицу написан неверно


PM MAIL ICQ Jabber   Вверх
bars80080
Дата 5.6.2008, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



Цитата(Feldmarschall @  5.6.2008,  14:17 Найти цитируемый пост)
вывод: уши у таракана в ногах.
 всё верно, это так

собственно эта фраза: 
Цитата(Feldmarschall @  5.6.2008,  14:17 Найти цитируемый пост)
ну и где в строчке error_reporting(E_ALL) написано, что надо что-то выводить в браузер?
 мне абсолютно ничего не открыла. не я писал эту команду и технический принцип её действия не знаю. знаю только что она волшебным образом выявила ошибку (показала её), именно вывела в браузер, а до этого ничего не выводило

ну-с, расскажете таки секрет?




tomolax, всё со всеми бывает, надо только обдумывать свои действия. если не получается что-то придумать, то тупо сделать то что пишут другие и посмотреть что получилось. если получилось как надо, то следует смотреть что изменилось и какое влияние это оказывает
PM MAIL WWW   Вверх
Feldmarschall
Дата 5.6.2008, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



Опять логика. А точнее полное её отсутствие. Ну откуда ты взяла, что запрос на ВВОД написан неверно? 
Если ты положила деньги в один карман, а в другом их нету - это значит, что в первый и не клала?

скажи пожалуйста, чего ты ждешь от переменной $table_name?

Добавлено через 1 минуту и 58 секунд
bars80080, не надо писать эту команду. надо слушать, что я говорю.
повторяю ещё раз. Эта команда отвечает только за то, КАКИЕ ошибки выводить. За то, КУДА выводить ошибки, она не отвечает. 
Это понятно? Вопросов не вызывает?
PM   Вверх
tomolax
Дата 5.6.2008, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 9.4.2008
Где: город на Неве

Репутация: 1
Всего: 1



Код

//вносим данные в таблицу
mysql_query("insert into $table_name values ('0', 'Пупкин',
    'Василий', 'Петрович', 'pupkin', '123', 'Сотрудник');");

echo mysql_error(). "<br />";


выдал ошибку: Data too long for column 'Surname' at row 1
PM MAIL ICQ Jabber   Вверх
bars80080
Дата 5.6.2008, 14:36 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



tomolax, посмотрите логику работы своего скрипта:

 
Код

   $table_name = "Authorization";

...    

    $ath = mysql_query("select * from $table_name;");
    if($ath)
        {
        $author = mysql_fetch_array($ath);
        echo "фамилия="     .$table_name['Surname'].        "<br>";
        echo "имя="                 .$table_name['Name'].             "<br>";
        echo "отчество="        .$table_name['Patronymic'].      "<br>";
        echo "логин="     .$table_name['Login'].              "<br>";
        echo "пароль="     .$table_name['Password'].       "<br>";
        echo "категория="      .$table_name['User_category']."<br>";
        }

у вас есть переменная $table_name, есть переменная $author , в которую вы считываете данные из БД, но вместо того чтобы в вывод (операция echo) написать переменную $author['Surname'] , вы зачем-то пишете $table_name['Surname'], он у вас и выдирает из слова Authorization первую букву




Цитата(Feldmarschall @  5.6.2008,  14:31 Найти цитируемый пост)
Это понятно? Вопросов не вызывает? 
 это да, но что отвечает именно за вывод в браузер?

PM MAIL WWW   Вверх
skyboy
Дата 5.6.2008, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



Цитата(bars80080 @  5.6.2008,  13:36 Найти цитируемый пост)
 это да, но что отвечает именно за вывод в браузер?

ошибки могут выводиться в общий поток вывода, могут заноситься в лог. друг другу эти два механизма не мешают. за вывод ошибок и за логирование отвечают директивы php.ini
PM MAIL   Вверх
Feldmarschall
Дата 5.6.2008, 14:42 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



bars80080, директива display_errors

tomolax, после коннекта к бд напиши
mysql_query("set names cp1251");

PM   Вверх
tomolax
Дата 5.6.2008, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 9.4.2008
Где: город на Неве

Репутация: 1
Всего: 1



Цитата

Ну откуда ты взяла, что запрос на ВВОД написан неверно? 

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

Цитата

чего ты ждешь от переменной $table_name?

уточните конкретнее
PM MAIL ICQ Jabber   Вверх
bars80080
Дата 5.6.2008, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



блин, думал они синхронно валятся

т.е. некто может прописать в ini в лог и я их в браузере (хоть об стену бейся) не увижу?
PM MAIL WWW   Вверх
tomolax
Дата 5.6.2008, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 9.4.2008
Где: город на Неве

Репутация: 1
Всего: 1



Код

<?php
    $host = "localhost";
    $user = "root";
    $password = "***";
    
    $db_name = "smed";
    $table_name = "Authorization";
    
    mysql_connect($host, $user, $password) 
        or die("MySQL Error!");

    mysql_select_db($db_name);
    mysql_query("set names cp1251");

    //вносим данные в таблицу
    mysql_query("insert into $table_name values ('0', 'Пупкин',
        'Василий', 'Петрович', 'pupkin', '123', 'Сотрудник');");

    echo mysql_error(). "<br />";

    //выбираем данные из таблицы для проверки
    $ath = mysql_query("select * from $table_name;");
    if($ath)
        {
        $author = mysql_fetch_array($ath);
        echo "фамилия="     .$author['Surname'].      "<br>";
        echo "имя="     .$author['Name'].         "<br>";
        echo "отчество=" .$author['Patronymic'].   "<br>";
        echo "логин="     .$author['Login'].        "<br>";
        echo "пароль="     .$author['Password'].     "<br>";
        echo "категория=".$author['User_category']."<br>";
        }
    else
        {
        echo "<p><b>Error: ".mysql_error()."</b></p>";
        exit();
        }

    mysql_close($db_name);
?>


ДДДДАААААА, вот так все работает smile 

фамилия=Пупкин
имя=Василий
отчество=Петрович
логин=pupkin
пароль=123
категория=Сотрудник


Это сообщение отредактировал(а) tomolax - 5.6.2008, 14:59
PM MAIL ICQ Jabber   Вверх
Feldmarschall
Дата 5.6.2008, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



bars80080, если это не твой сервер, то и правильно. ошибки на экран должны выводиться только дома. А на хостинге идти в лог.
PM   Вверх
tomolax
Дата 5.6.2008, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 9.4.2008
Где: город на Неве

Репутация: 1
Всего: 1



Feldmarschall, в чем была причина (mysql_query("set names cp1251");)? 
PM MAIL ICQ Jabber   Вверх
Feldmarschall
Дата 5.6.2008, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



долго объяснять
PM   Вверх
tomolax
Дата 5.6.2008, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 9.4.2008
Где: город на Неве

Репутация: 1
Всего: 1



все равно спасибо, отличная работа smile 
PM MAIL ICQ Jabber   Вверх
Glip
Дата 5.6.2008, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: 1
Всего: 18



tomolax, вы хоть иногда заглядываете сюда? например это или это


--------------------
user posted image
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0700 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.