Inser复选框输入到带有php的postgresql中


Inser checkbox inputs into a postgresql with php

我正试图在postgresql中的数据库中引入复选框的值。我用一个名为:getrequest的列创建了表帐户,它是布尔类型。

我正在使用下面的代码,但我得到了以下错误:

查询错误:错误:类型boolean的输入语法无效:"LINE 1:。。。帐户(getrequest)值('',…^

如有任何帮助,我们将不胜感激。

感谢

<?php
$getrequest  =  "";
    $db = pg_connect('host=localhost dbname=test user=myuser password=mypass');
    $getrequest = pg_escape_string($_POST['getrequest']);
    $query = "INSERT INTO account(getrequest) VALUES('" . $getrequest . "')";
             $result = pg_query($db, $query);
        if (!$result) {
           $errormessage = pg_last_error();
               echo "Error with query: " . $errormessage;
           exit();
          }
            $getrequest =  "";
     pg_close();

function test_input($data) {
 $data = trim($data);
 $data = stripslashes($data);
 $data = htmlspecialchars($data);
 return $data;
}
?>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="checkbox" name="getrequest" value="getrequest" class="regular-checkbox">I get a request<br> 
<br>
<input type="submit" name="submit" value="SAVE">
</form>

验证您尝试插入的值是否为有效的布尔值(http://www.postgresql.org/docs/9.1/static/datatype-boolean.html),然后插入,并根据需要进行转换。匹配filter_var($getrequest,filter_VALIDATE_BOOLEAN)?'true':'false';此外,您不引用布尔型或数字型,请重新组合插入语句中的引号:

INSERT INTO account(getrequest) VALUES(' . $getrequest . ')'