|
|
|
| Уважаемые гуру подскажите правильно ли я делаю? Может есть способ удобней и быстрее чем приведенный ниже?
$query=mysql_query("SELECT 'name_group' FROM 'info_group' WHERE id_group='".$result['id_info_group']."'");
$row_cat=mysql_fetch_assoc($query);
echo $row_cat['name_group'];
|
| |
|
|
|
|
|
|
|
для: Mesm
(14.08.2006 в 13:57)
| | Можно поступить следующим образом
<?php
$query=mysql_query("SELECT name_group FROM info_group WHERE id_group='".$result['id_info_group']."'");
if(!$query) exit(mysql_error())
if(mysql_num_rows($query)) echo mysql_result($query,0);
?>
|
Он не быстрее, но надёжнее в плане контроля за ошибками. | |
|
|
|
|
|
|
|
для: Mesm
(14.08.2006 в 13:57)
| |
<?php
// исключаем инъекцию
$query = mysql_query("SELECT name_group FROM info_group WHERE id_group='" . addslashes ($result['id_info_group']) . "'");
$row_cat=mysql_fetch_assoc($query);
echo $row_cat['name_group'];
?>
|
А чтобы использовать другой способ, посмотрите на сайте у Дмитрия Котерова (http://dklab.ru/lib/Database_Placeholder/) | |
|
|
|
|
|
|
|
для: Vitas
(14.08.2006 в 18:21)
| | т.е. если у меня заведомо известно что в базе есть только одна строка с номером $result['id_info_group']) и мне надо только значение столбца (name_group) мне всегда надо делать fetch_assoc ?
Идельано будет так? :
<?php
if ($query=mysql_query("SELECT name_group FROM info_group WHERE id_group='". addslashes ($result['id_info_group'])."'"))
{
$row_cat=mysql_fetch_assoc($query);
echo $row_cat['name_group'];
}
else exit();
?>
|
| |
|
|
|
|
|
|
|
для: Mesm
(15.08.2006 в 17:37)
| | Вы можете использовать mysql_result в этом случае, но лучше подстраховаться и добавить LIMIT 1
<?php
if ($query=mysql_query("SELECT name_group FROM info_group
WHERE id_group='". addslashes ($result['id_info_group'])."' LIMIT 1"))
{
echo mysql_result($query, 0);
}
else exit();
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(15.08.2006 в 18:59)
| | А что будет работать быстрее? | |
|
|
|
|
|
|
|
для: Mesm
(16.08.2006 в 10:50)
| | Выборка одного значения будет работать примерно одинаково в любом случае - здесь слишком мало вычислений, чтобы можно было ощутить какую-то разницу. | |
|
|
|