使用带有$ _Post变量的if条件插入表值

时间:2018-05-29 21:18:57

标签: php html sql oracle

我正在尝试在PHP环境下使用“insert into table values”语句中的if语句,并使用$ _post []作为变量来为字段更新创建复杂的SQL查询。脚本在下面。它主要是将带有NULL的字段更新为空字符串。似乎不适合我。有人可以帮帮我吗?

$strSQL = "INSERT INTO SR ";  
$strSQL .="(DESC,ATTACH) ";  
$strSQL .="VALUES ";  
$strSQL .="('".$_POST["txtDesc"]."','".((SELECT $_POST["txtAttach"] FROM SR WHERE $_POST["txtAttach"] is NULL),"  ")."')";  

1 个答案:

答案 0 :(得分:0)

这里的问题在于您的语法。

<?php
$strSQL = "INSERT INTO SR ";  
$strSQL .="(DESC,ATTACH) ";  
$strSQL .="VALUES ";  
$strSQL .="('".$_POST["txtDesc"]."','".((SELECT $_POST["txtAttach"] FROM SR WHERE $_POST["txtAttach"] is NULL),"  ")."')";

应该是:

$strSQL = "INSERT INTO SR ";  
$strSQL .="(DESC,ATTACH) ";  
$strSQL .="VALUES ";  
$strSQL .= "('".
    $_POST["txtDesc"] ."','" .
    "(
        (
            SELECT " . $_POST["txtAttach"] . 
            " FROM SR WHERE " .  
            $_POST["txtAttach"] . 
            " is NULL
        )
    )
)";

您的代码非常难以辨认。一旦我重写,我将对我的帖子进行编辑。