Вставка переменных php в операторы sql

0

Изменение вопроса, поскольку у меня есть лучшая информация.

Следующий запрос

function gamesWaiting($join, $type, $status, $u)
{
    global $database;
    $q = "SELECT g.home_user, g.away_user, g.home_score, g.home_team, g.away_score, g.away_team, g.id, f.name, f.game, 
         uh.username AS home_username, ua.username AS away_username
          FROM ".TBL_FOOT_GAMES." g
          INNER JOIN ".TBL_USERS." uh ON uh.id = g.home_user
          INNER JOIN ".TBL_USERS." ua ON ua.id = g.away_user
          INNER JOIN ".$join." f ON f.id = g.leagueid
          WHERE g.type = '$type' && g.{$u}_user = '$_SESSION[id]' && g.status = '$status'";
    return mysql_query($q, $database->myConnection());
}

Единственная часть, которая не работает, - это

".$join."

Любые идеи, как я могу заставить это работать?

Thankyou

  • 3
    Какую ошибку вы получаете?
  • 0
    Предупреждение: mysql_num_rows (): предоставленный аргумент не является допустимым ресурсом MySQL.
Показать ещё 9 комментариев
Теги:

3 ответа

0
Лучший ответ

В этом запросе выполняется поиск имени таблицы TBL_FOOT_FRIENDLY, а не то, что вы указали для имени постоянной таблицы ссылок. (Из вашего кода TBL_FOOT_FRIENDLY может определяться как foot_friendly в базе данных)

  • 0
    ".." заставляет этот запрос работать Другие объединения хороши, просто интересно, не мешает ли способ, которым я помещаю переменную в запрос!
  • 0
    Так действительно ли TBL_FOOT_FRIENDLY - имя таблицы?
Показать ещё 1 комментарий
0

Напиши так:

INNER JOIN '" . $join . "' f ON f.id = g.leagueid

Обратите внимание на одинарные кавычки, содержащие двойные кавычки вокруг . $join .

  • 0
    Это не имеет никакого значения.
0

назначить постоянное значение переменной и передать эту переменную в функцию

$tbl=TBL_FOOT_FRIENDLY;
$results = $footdb->gamesWaiting($tbl, "1", "2", "away");

или удалите двойную кавычку вокруг константы и пройдите

$results = $footdb->gamesWaiting(TBL_FOOT_FRIENDLY, "1", "2", "away");

и попробуйте.

Спасибо.

  • 0
    Ааа, спасибо, попробую
  • 0
    Кажется, проблема в переменной $ u, которую я пытаюсь вставить в запрос. Простое добавление ничего не заставляет переменную читать $ u_user, '$ u'_user также не работает. Что бы?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню