Задать вопрос

Сократить размер запроса до минимума

Имеется запрос:
$autozapros = mysql_query("SELECT * FROM `profile` WHERE login_prof='{$_SESSION['login_prof']}' AND id_com_prof LIKE '%{$_SESSION['id_com_prof']}%'",$db);
$profile = mysql_fetch_array($autozapros);

Как его можно сократить до минимума ?
  • Вопрос задан
  • 2462 просмотра
Подписаться 5 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 6
IgorO2
@IgorO2
73
$s = 'SELECT';
$f = 'FROM';
$p = 'profile';
$query = "$s * $f `$p`"

держи сокращенный запрос =)
Ответ написан
Комментировать
mlnkv
@mlnkv
JavaScript Developer
как это ужасно, называть переменные таким образом: $autozapros )))
Ответ написан
@DDanya
Он и так сокращен на минимум.
Ответ написан
Комментировать
disc
@disc
веб-разработчик
Ну можно еще заменить "*' на список нужных полей в SELECT'e. А зачем используется LIKE? Поле id_com_prof имеет тип integer? Если да то замените LIKE на "=".
Ответ написан
Комментировать
WaRstim
@WaRstim Автор вопроса
что-то типа такого невозможно ?
$profile=$db->query("SELECT * FROM `profile` WHERE login_prof='{$_SESSION['login_prof']}' AND id_com_prof LIKE '%{$_SESSION['id_com_prof']}%'");
Ответ написан
nazarpc
@nazarpc
Open Source enthusiast
Просто нормально отформатируйте, оно же не читабельно, сравните:

$autozapros = mysql_query(
    "SELECT *
    FROM `profile`
    WHERE
        login_prof='$_SESSION[login_prof]' AND
        id_com_prof LIKE '%$_SESSION[id_com_prof]%'",
    $db
);
$profile = mysql_fetch_array($autozapros);

От форматирования скорость не зависит никак, а вот от того, как вы используйте LIKE очень сильно, почитайте про LIKE и использование индексов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы