私はPHPでデータベースで動作するクラスを持っています。このクラスのAdd関数は次のとおりです。返された関数の結果が条件文に混乱しています
function Add($post_id)
{
if(!is_numeric($post_id))
{
return 1181;
}
$query = "...";
$result = mysql_query($query, $this->link);
return $result;
}
また、フォームデータを取得してこのクラスに渡すページもあります。ページのコードは次のとおりです。
$result = $obj->Add($post_id);
if($result == 1181)
{
echo 'invalid';
}
else if($result)
{
echo 'success';
}
else
{
echo 'error';
}
返される値は1で、出力が「成功」でなければなりませんが、私は「無効」メッセージが表示されます。私が「無効」と「成功」条件文を入れ替えれば、すべてうまくいくが、私はこの問題が何であるか知りたいのですか?
入力は何ですか?もし '$ post_id'が何であるのか分からなければ、どのように問題を推論するのでしょうか? –
「1181」のような数字を返さずに、例外を使用する必要があるように思えます。その数字はどういう意味ですか? –
@Tomalak Geret'kal: '$ post_id'は数字です。 SQLインジェクションを防ぐために、 '$ post_id'をチェックしてからいくつかのコードがあるので、例外からは使用しませんでした。すべて正常ですが、私はこの問題が何であるか分かりません... – Novice