php / postgres - печатная версия в браузере - PullRequest
1 голос
/ 06 июля 2011

Я разрабатываю систему user / login, в которой ниже приведена небольшая php-функция, которая обновляет пользовательские значения в БД при выполнении определенного условия (т. Е. При совпадении имени пользователя и пароля). Однако на странице входа ничего не происходит. Я использую Ubuntu и на терминале он показывает, что переменная $ pk_user пуста. Проблема в том, что я хочу напечатать значения pk_user, но echo, print_r, var_dump ничего не печатает в браузере. У меня есть стиль CSS, это будет причиной? Функция:

/* updateUserField - Updates a field, specified by the field parameter,
   in the user's row of the database, given the pk_user */

public function updateUserField($userkey, $field, $value)
{
    $q = "UPDATE users SET ".$field." = '$value' WHERE pk_user = '$userkey'";

    pg_query($this->link,$q);

    if(pg_last_error($this->link)) {
        return -1;
    }

    return 1;
}

и сообщение об ошибке в командной строке:

ОШИБКА: неверный синтаксис ввода для целое число: "" в символе 82 ЗАЯВЛЕНИЕ: ОБНОВЛЕНИЕ пользователей SET usr_userid = '9bc44a3b3b0b911f7f932f06ab7d7b5c' ГДЕ pk_user = ''

Конечно, я подключаюсь к БД с помощью pg_connect, и эта часть работает нормально.

1 Ответ

1 голос
/ 06 июля 2011

Вы не предоставляете целое число в качестве переменной $userkey при вызове функции. Таким образом, запрос не выполняется. Проверьте код, где вы на самом деле вызываете функцию, чтобы определить, почему не передается целое число.

...