0

最初に行が存在することを確認し、存在しない場合はデータを挿入する関数があります。何かが失敗した場合は、false を返すことになっています。関数を実行して var_dump で戻り値を確認すると、true が返されます。データがデータベースに挿入されると想定していますが、そうではありません。なぜこれを行うのでしょうか?私の機能に何か問題がありますか?

function add_tier ($mysqli, $project_id, $tier_number, $wanted, $in_return, $limit) {

    if ($result = $mysqli->query("SELECT COUNT(tier_id) FROM `tier` WHERE `project_id` 
    = $project_id AND `tier_number` = $tier_number")){

      if ($return < 1) {

        if ($stmt = $mysqli->prepare("INSERT INTO `tier` (`project_id`, 
        `tier_number`, `wanted`, `in_return`, `limit`) VALUES (?, ?, ?, ?, ?)")){

        $stmt->bind_param('iissi', $project_id, $tier_number, $wanted, $in_return, 
        $limit);

        $return = $stmt->execute();

        $stmt->close();

        return $return;

        } else {return false;}      

      } else {return false;}            

    }  else {return false;}

}
4

1 に答える 1

1

$return(コメントから続く)あなたはこの行のどこにもを定義していないようです:

if ($return < 1) {
于 2012-10-02T02:09:21.577 に答える