如何使用php将单选按钮值和下拉值插入数据库postgresql

时间:2014-02-17 08:20:34

标签: php postgresql

我想将数据插入postgresql数据库,其中包括单选按钮和dropdwn框。我尝试了3种不同的插入查询。

1)

$query = sprintf("INSERT INTO onf VALUES('%s','%s','%s','%s','%s','%s','%d')",$_REQUEST['title'],$_REQUEST['name'],$_REQUEST['district'],$_REQUEST['rurban'],$_REQUEST['taluk'],$_REQUEST['village'],$_REQUEST['wardno']);

2)

$qry="INSERT INTO onf(title, name, district,rurban,taluk,village,wardno) VALUES ('$tile', '$name', '$district','$rurban','$taluk','$village','$wardno')";   

3)

 $qy="INSERT INTO onf(title, name, district,rurban,taluk,village,wardno) VALUES (('$_POST[title]','gen','$_POST[gen]),'$_POST[name]','$_POST[district]','$_POST[rurban]','$_POST[taluk]','$_POST[village]','$_POST[wardno]')";

   $res = pg_query($db,$qy);

我的问题是在第一个查询oly名称单独插入,在第二个,第三个没有记录插入。 Y下拉列表和单选按钮没有插入数据库? Tanx提前..

1 个答案:

答案 0 :(得分:0)

可能只是因为这3个都不是正确的PHP代码。

查询1: 不要使用$ _REQUEST。使用$ _POST。

查询2: 除非你打开register_globals,我 SERIOUSLY 希望你没有,你的vars($ tile,$ name等)将不包含表单提交的信息。同样,你想使用$ _POST。

查询3: 您的变量未正确转义。一般来说,如果你不太熟悉PHP中的字符串连接,我建议不要将变量嵌入到双引号字符串中。使用单引号字符串并通过断开字符串并与.连接来构建它们。

现在,我觉得你的第二个查询是最接近你想要的,所以试试这个:

$qry = '
    INSERT INTO onf (
        title,
        name,
        district,
        rurban,
        taluk,
        village,
        wardno
    ) VALUES (
        "'.$_POST['tile'].'",
        "'.$_POST['name'].'",
        "'.$_POST['district'].'",
        "'.$_POST['rurban'].'",
        "'.$_POST['taluk'].'",
        "'.$_POST['village'].'",
        "'.$_POST['wardno'].'"
    );
';