-1

データベースの列の$key値でない場合、これは私が期待したように死ぬことはありません。key_code代わりに、それはただ続くだけです。私はおそらく本当に単純なものを見逃しています。

$key = $_GET['k'];

$keycheck = mysql_query("SELECT * FROM ib_dist WHERE key_code = '$key'");

if (!$keycheck) {

   die("A database error has occured.");

} else {
4

2 に答える 2

2

mysql_queryリソースを返すか、クエリが正常に実行されたfalseかどうかに基づいて返します。返された行の数や、クエリが何かを実行したかどうかを示すものではなく、クエリが正常に実行されたかどうかのみを示します。

返された結果の数を確認するか、返された結果を個別に評価します。

于 2013-02-09T12:38:45.150 に答える
0

見つかった行の量を確認してください。

$key = $_GET['k'];

$result = mysql_query("SELECT * FROM ib_dist WHERE key_code = '$key'");

if (!$result) {

   die("A database error has occured.");

} else if (0 == mysql_num_rows($result)) {
    // unknown key action
} else {
    // known key action
}
于 2013-02-09T12:40:31.983 に答える