最初に行が存在することを確認し、存在しない場合はデータを挿入する関数があります。何かが失敗した場合は、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;}
}