dポイントプレゼントキャンペーン実施中!

php5です。
以下のようなコードでMYSQLデータベースからユーザIDを取り出しています。
存在するユーザ名が$nameにセットされているときには何も問題は起きないのですが、存在しないユーザ名を$nameにセットするとブラウザにエラーが表示されます。
存在しないユーザ名が$nameにセットされたときにこのエラーを表示させないようにするにはどうすればよいでしょうか。
mysql_result関数のマニュアルは読んだのですがエラーハンドリングについてはよく理解できませんでした。
$nameには別のphpスクリプトのフォームで入力された値がセットされます。

表示されるエラー
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 24 in test.php on line xx

phpスクリプトの問題部分(関数の一部)
$idsql = "select user_id from usertable where username = '$name'";
$res = mysql_query($idsql, $link);
$userid = mysql_result($res, 0);
mysql_close($link);
return $userid;

A 回答 (1件)

$res = mysql_query($idsql, $link);


$rows = mysql_num_rows($res);
if ($rows > 0) {
$userid = mysql_result($res, 0);
}
else {
/* DBから1件もselectできなかった($nameが存在しなかった)ときの処理 */
}
mysql_close($link);
    • good
    • 0
この回答へのお礼

ありがとうございます。
うまく動きました。
mysql_num_rows こんな関数があったのですね。
大変助かりました。

お礼日時:2009/04/04 21:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!