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
Форумы портала PHP.SU :: Версия для печати :: Правильный запрос к БД
Форумы портала PHP.SU » » Вопросы новичков » Правильный запрос к БД

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

1. landsturm - 31 Декабря, 2011 - 12:48:15 - перейти к сообщению
Здравствуйте, объясните как правильнее или лучше будет делать запросы к БД?

$result = mysql_query("SELECT * FROM table");

или

$result="SELECT * FROM table";
$query=mysql_query($result) or die (mysql_error());

Хотел бы ещё узнать, лучше выбирать все ячейки (SELECT *) в БД или лучше перечислить какие именно (SELECT qwe1, qwe2, qwe3)?
2. Саныч - 31 Декабря, 2011 - 12:56:49 - перейти к сообщению
Смотря что вы вытаскивать с БД собрались. Если это какие-то важные данные. без которых нет смысла продолжать дальше, то конечно лучше die в случае ошибки. А если это какой-то блок статистики или еще какая-то фигня, вобщем ничего страшного не произойдет, если на странице ее не будет.
По поводу * - я обычно перечисляю, т.к. в будущем в таблице могут появиться еще какие-то поля, которые в конкретном запросе не нужны. Зачем таскать лишнюю информацию.
3. landsturm - 31 Декабря, 2011 - 13:23:30 - перейти к сообщению
$result="SELECT * FROM table";
$query=mysql_query($result) or die (mysql_error());
А как в таком запросе указать идентификатор в виде переменной к какой БД подключаться?
(Добавление)
Хотя я уже разобрался.
(Добавление)
Меня ещё мучает один вопрос.
echo "<span class='name'>$name</span>";
Допустим у нас есть такая строчка, в ней есть переменная. Лучше всю строчку обособлять в двойные ковычки или обособлять в одинарные, а переменную в двойные (echo '<span class='boardname'>".$name."</span>';)?
4. Bio man - 31 Декабря, 2011 - 14:24:50 - перейти к сообщению
landsturm пишет:
echo '<span class='boardname'>".$name."</span>';
данный код не будет работать. можно в двойных или с конкатенацией. насчет запроса, использовать * можно только при разработке. все нужные данные нужно перечислять через запятую. если вы устроитесь на работу кодером и напишете такой запрос со *, то ничего хорошего не ждите от руковадителя, заставит переписывать.
5. landsturm - 31 Декабря, 2011 - 14:32:51 - перейти к сообщению
Bio man
Ещё вопрос. Файл config.php, то есть файл с данными для подключения к БД, лучше подключать с помощью require_once?
6. Pimpys - 31 Декабря, 2011 - 17:54:27 - перейти к сообщению
У вас много ошибок в коде(Который написан на форуме), хотя вам это уже сказали!
А лутче через рекваир_онце, так как он включает только один раз!
А выбирать всё(*) или частично, это зависит от запроса и потребностей! Тут сами смотрите что вам надо.
Не забывайте экранироватьУлыбка А вообще чем больше ошибок допустите, тем больше опыта! главное их сразу видить, и код проверять! И это войдёт в привычку!Улыбка
И главное понимать что пишите(По тому что учите(Я сам по книгам, учу. Тяжело, у книги не спросить!))
Ну а там поймётеУлыбка
ЗЫ: Начинал с уроков Евения Попова, а сейчас понимаю что его уроки это разводнякУлыбка Хорошо что без платно качал.
Спасибо.
7. Estenny - 31 Декабря, 2011 - 18:34:32 - перейти к сообщению
Вопрос, раз тема создана: есть аналог mysql_result(), только если тут надо передавать вторым параметром номер строки в БД, то мне надо просто задать WHERE sth = 'sth'? Без указания строки, но чтобы вернул не массив, а просто значение.
8. snikers987 - 01 Января, 2012 - 20:27:30 - перейти к сообщению
Pimpys пишет:

А лутче через рекваир_онце, так как он включает только один раз!

include_once() тоже однократно включает, в случае не возможности подключить генерирует warning, а require_once fatal error.

 

Powered by ExBB FM 1.0 RC1