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 :: Работа с Mysql [2]

 PHP.SU

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


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

> Без описания
PATCH
Отправлено: 20 Июля, 2012 - 22:03:29
Post Id



Частый посетитель


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


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




DelphinPRO пишет:
мысли глубже )
абстрагируйся от конкретного примера и еще раз перечитай мой пост.
ну мб от конкретного примера и подойдет , но по сути я допустим новичок , знаю что автоинкремент автозаполняется т.е при добавлении записи идет инкремент в стобце id а тут бац запись
CODE (SQL):
скопировать код в буфер обмена
  1.  mysql_query("INSERT INTO ms_dogs VALUES (0, '$db_author', '$db_filename', '$db_description', '$db_password', '$db_downloads, '$db_expire', '$db_timestamp')");
как новичок задам вопрос , а какого лешего я добавляю 0 а у меня там стоит 5? яже 0 указал! Хм
 
 Top
v.kam
Отправлено: 20 Июля, 2012 - 22:05:40
Post Id


Новичок


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


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




на кройняк можно коменты оставить...
фрагмент кода из проекта сайта питомника, над которым щас работаю
PHP:
скопировать код в буфер обмена
  1. if (@mysql_query("INSERT INTO ms_dogs VALUES (
  2.         0, //id
  3.         '$name_url', //имя для выборки со староны клиента
  4.         '$name_rus', //кличка собаки рус
  5.         '$name_eng', //кличка собаки енг
  6.         '$breeder_rus', //заводчик рус
  7.         '$breeder_eng', //заводчик енг
  8.         '$owner_rus', //владелец рус
  9.         '$owner_eng', //владелец енг
  10.         '$dogs_color', //окрас собаки
  11.         '$gender', //пол собаки
  12.         '$date', //дата создания записи
  13.         '$birthday', //день рождения
  14.         '$deathday', //день смерти
  15.         '$titles_rus', //титулы рус
  16.         '$titles_eng', //титулы енг
  17.         '$dogs_photo', //фото собаки
  18.         '$album_id', //id приклепленного альбома в базе
  19.         '$mother_id', //id матери собаки в базе
  20.         '$father_id', //id отца собаки в базе
  21.         '$mother_rus', //имя матери если нет в базе рус
  22.         '$mother_eng', //имя матери если нет в базе енг
  23.         '$father_rus', //имя отца если нет в базе рус
  24.         '$father_eng', //имя отца если нет в базе енг
  25.         1, //собака заблокирована (скрыта от просмотра)
  26.         '".$user['user_id']."' //пользователь добавивший собаку в базу
  27.         )")) {
  28. }

(Добавление)
v.kam пишет:
как новичок задам вопрос , а какого лешего я добавляю 0 а у меня там стоит 5? яже 0 указал!

"0" "NULL"

(Отредактировано автором: 20 Июля, 2012 - 22:06:01)

 
 Top
PATCH
Отправлено: 20 Июля, 2012 - 22:09:27
Post Id



Частый посетитель


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


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




и вот опять этот 0 Голливудская улыбка тут не че не сказано ! http://www[dot]mysql[dot]ru/docs/man/exa[dot][dot][dot]O_INCREMENT[dot]html p.s я говорил об добавление пару записей в большую таблицу p.s зачем отрубать вывод ошибки при sql запросе? 0 это null? вот парадокс, а столбец id то INT, 0 вроде цифра, а заносит null и выполняет инкремент)

(Отредактировано автором: 20 Июля, 2012 - 22:16:10)

 
 Top
v.kam
Отправлено: 20 Июля, 2012 - 22:15:59
Post Id


Новичок


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


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




PATCH пишет:
(0, '$db_author', '', '', '$db_password', '', '', '')

если в базе стоит "DEFAULT '0'" для типов INT то ставь "0"...
а вообще если проект отдан на самоуправление, то ты должен позаботится чтоб все работало, и заполнялось сразу... т.к. админ которому ты передаешь на управление сайт может оказаться "блондинко"...
 
 Top
Нуб
Отправлено: 20 Июля, 2012 - 22:21:24
Post Id


Гость


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


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




v.kam пишет:
PATCH пишет:
(0, '$db_author', '', '', '$db_password', '', '', '')

если в базе стоит "DEFAULT '0'" для типов INT то ставь "0"...
а вообще если проект отдан на самоуправление, то ты должен позаботится чтоб все работало, и заполнялось сразу... т.к. админ которому ты передаешь на управление сайт может оказаться "блондинко"...

Нет, пишу "для себя".
То, что получится никому передано не будет.


PATCH, спасибо за объяснения и решение моей проблемы Улыбка
 
 Top
v.kam
Отправлено: 20 Июля, 2012 - 22:24:52
Post Id


Новичок


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


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




PATCH это черная магия пхп
PATCH пишет:
отрубать вывод ошибки при sql запросе?

чтоб при ошибке клиенту не выводились пугающие, непонятные ему слова )))
это мы поймём что такое
Цитата:
Warning: mysql_query() [function.mysql-query]: Can't connect to MySQL server on 'localhost' (10061) in W:\html\mysql\www\index.php on line 2

а клиенту будет приятней вот так:
PHP:
скопировать код в буфер обмена
  1.  
  2. if (@mysql_query(".....  ")) {
  3.         echo 'yes!!!'; //выполняем
  4. }
  5. else {
  6.         echo 'error'; //выводим ошибку
  7. }
  8.  
 
 Top
PATCH
Отправлено: 20 Июля, 2012 - 22:28:20
Post Id



Частый посетитель


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


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




v.kam пишет:
если в базе стоит "DEFAULT '0'" для типов INT то ставь "0"...
а вообще если проект отдан на самоуправление, то ты должен позаботится чтоб все работало, и заполнялось сразу... т.к. админ которому ты передаешь на управление сайт может оказаться "блондинко"...
опять это если , а если не 0 ? не слишком ли громоздкая инфа с пародоксами для новичка который осваевает азы sql запросов на php? p.s не всегда можно заполнить все одновременно , допустим есть регистрация ,а есть дополнительная информация о пользователи , тут уже впринципе зависит от структуры в таблиц. данное условие может разделено быть на 2 таблицы или же в 1 таблицы и не факт что id,user,pass,email будут идти первыми.
(Добавление)
v.kam пишет:
PATCH это черная магия пхп
PATCH пишет:
отрубать вывод ошибки при sql запросе?

чтоб при ошибке клиенту не выводились пугающие, непонятные ему слова )))
это мы поймём что такое
Цитата:
Warning: mysql_query() [function.mysql-query]: Can't connect to MySQL server on 'localhost' (10061) in W:\html\mysql\www\index.php on line 2

а клиенту будет приятней вот так:
при создании сайта вообще нельзя никакие ошибки отрубать, обычно создают конфиг файл в котором есть error_repoting(E_ALL) - для отладки или
error_repoting(0); что бы никакие ошибки не выдавало.
(Добавление)
кстати вот после такой записи новички и думают что php "умный" и общается со мной типо андроид без возможности говорить по нашему))



PHP:
скопировать код в буфер обмена
  1.      mysql_query("INSERT INTO ms_dogs VALUES (0, '$db_author', '$db_filename', '$db_description', '$db_password', '$db_downloads, '$db_expire', '$db_timestamp')");
вот я ему сказал добавить в таблицу Ms_dogs значения такие то и он сразу понел в какие столбцы, какие значения надо добавлять ,а еще он понел что замест 0 я хочу вписать NULL, что бы произошел автоинкремент, боже какой же ты умный php Ха-ха это реально как ты выразился для новичка черная магия php))

(Отредактировано автором: 20 Июля, 2012 - 22:39:40)

 
 Top
v.kam
Отправлено: 20 Июля, 2012 - 22:39:24
Post Id


Новичок


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


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




PATCH пишет:
при создании сайта вообще нельзя никакие ошибки отрубать, обычно создают конфиг файл в котором есть error_repoting(E_ALL) - для отладки или
error_repoting(0); что бы никакие ошибки не выдавало.

отладкой я занимаюсь на стадии разработки...
что ты выведешь в случае ошибки???
PATCH пишет:
данное условие может разделено быть на 2 таблицы или же в 1 таблицы и не факт что id,user,pass,email будут идти первыми.

там так то скрин прилагался ))).
 
 Top
PATCH
Отправлено: 20 Июля, 2012 - 22:41:14
Post Id



Частый посетитель


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


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




v.kam пишет:
там так то скрин прилагался ))).
причем здесь это? раздел видел? а ты пишешь sql запрос с кучей нюансов и который использует одну логику работы добавить значение записей в таком порядке как они и в таблице.
Цитата:

отладкой я занимаюсь на стадии разработки...
что ты выведешь в случае ошибки???
чет я этого не допонел) тебеж надо что бы ошибки не выводило у пользователя или ты ошибки типа которые реально описывают проблему переделываешь под свое "бд отрубленно ЛОЛ вруби БЛИН" , "Ошибка добавления данных , обратить к программисту" . а программисту придется ох как не сладко если error_repoting(E_ALL) не сработает) а он реально не сработает)) p.s некоторые кстати новички при такой записи думают что имя переменной = имени столбца отсюдо , sql запрос типо знает в какой столбец что добавлять))

(Отредактировано автором: 20 Июля, 2012 - 22:45:54)

 
 Top
v.kam
Отправлено: 20 Июля, 2012 - 22:49:24
Post Id


Новичок


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


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




а тебе приятно каждый раз добавлять в ручную???
вот у тебя 20 полей которые тебе надо записать в таблицу, вот и делай запись для всех полей. потом напиши скрипт для редактирования, и остальное заполнишь при редактировании, через те-же поля, а не ковырянием в phpmyadmin
 
 Top
PATCH
Отправлено: 20 Июля, 2012 - 22:52:23
Post Id



Частый посетитель


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


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




v.kam пишет:
а тебе приятно каждый раз добавлять в ручную???
вот у тебя 20 полей которые тебе надо записать в таблицу, вот и делай запись для всех полей. потом напиши скрипт для редактирования, и остальное заполнишь при редактировании, через те-же поля, а не ковырянием в phpmyadmin
чет я не дорубил че ты хотел эти сказать) хочешь сказать что при использовании типа sql запроса который ты предложил этого всего можно избежать?) или ты это про "все разом надо заполнять"? ты походу не дорубил к чему я эт пишу , взгляни на первый пост , там человек указал sql запрос с аналогом который я привел , а ты ему пишешь своим мистическим сокращением , он еще стандартную логику sql запросов осваивает т.е как sql запрос понимает что и куда добавлять , а с твоим sql запросом мы перечислили не мало нюансов, которые можно избежать используя так сказать типичный sql запрос. с таким подходом скоро новичкам будут писать примеры скриптов на OOП с использование PDO , сойдет?

(Отредактировано автором: 20 Июля, 2012 - 23:00:02)

 
 Top
v.kam
Отправлено: 20 Июля, 2012 - 22:55:08
Post Id


Новичок


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


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




щас напишу пример
 
 Top
PATCH
Отправлено: 20 Июля, 2012 - 23:30:07
Post Id



Частый посетитель


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


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




долгож вы пишите)) , когда вы напишите прочитайте пост выше (я его дописал) . а так же вопрос, если вы так любите компактность почему вы написали такой здоровый "код в примере" (ну эт я основываюсь на вашем мнении) почему не использовали тернарные операторы?
ваш:
PHP:
скопировать код в буфер обмена
  1. if (@mysql_query(".....  ")) {
  2.         echo 'yes!!!'; //выполняем
  3. }
  4. else {
  5.         echo 'error'; //выводим ошибку
  6. }
  7.  
эквивалентин моему :


PHP:
скопировать код в буфер обмена
  1. echo  (@mysql_query(".....  ")) ? 'yes!!!' : 'error';

чей компактней? - мой компактней , чей понятней для новичков?- ваш понятней. логику понели к чему я эт пишу? сложные или компактные, перекрестные sql запросы обычно пишут в разделе sql, а тут пишут с полной раскрытой логикой работы что бы новичкам было понятно что до как , отсюда потом и рождается черная магия php Ха-ха

(Отредактировано автором: 21 Июля, 2012 - 03:09:36)

 
 Top
Нуб
Отправлено: 21 Июля, 2012 - 18:18:25
Post Id


Гость


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


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




del

(Отредактировано автором: 21 Июля, 2012 - 20:54:30)

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB