我正在开发一个用户/登录系统,其中我在下面有一个小的 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;
}
命令行的错误信息是:
ERROR: invalid input syntax for integer: "" at character 82 STATEMENT: UPDATE users SET usr_userid = '9bc44a3b3b0b911f7f932f06ab7d7b5c' WHERE pk_user = ''
当然,我使用 pg_connect
连接到数据库那部分工作正常。
最佳答案
调用函数时,您没有提供整数作为 $userkey
变量。因此,查询失败。检查您实际调用函数的代码,以确定未传递整数的原因。
关于php/postgres - 在浏览器上打印问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6589641/