0

愚かな質問について申し訳ありませんが、私はこれを解決するのに十分ではない/見ることができません:

私はMYSQLdbとphpフォームを持っていますが、すべてが機能しますが、1つのレコードしか取得できません-おそらく構文エラー:

    $SQL = "SELECT * FROM massfelh WHERE user = $uname AND pass = md5($pword)"; - this is working
    $result = mysql_query($SQL); - this is too
    $catg = $result['categ']; - help
    $num_rows = mysql_num_rows($result); - this is ok too
    echo $catg; - for test and I can't print it on screen

DB構造:id、user、pass、categ

カテゴリ(1または0)のみが必要ですが、画面に表示されません。

どんな助けでもいただければ幸いです-そして私も愚かだと言ってください:)

アップデート:

みなさん、ありがとうございました!!!!!!! とても助かりました。私は自分のコードに最適な解決策を見つけましたが、すべての回答は正しかったです。もう一度ありがとうございますこれが誰かに役立つことを願っています私と同じように初心者です:)もう一度ありがとう

4

8 に答える 8

5

これを試して..

$SQL = "SELECT * FROM massfelh WHERE user = $uname AND pass = md5($pword)"; 
    $result = mysql_query($SQL);
    $result = mysql_fetch_assoc($result);
    $catg = $result['categ'];
    $num_rows = mysql_num_rows($result); 
    echo $catg;
于 2012-07-03T10:47:53.493 に答える
1

行が 1 つしかないと予想される場合は、select に a を追加するLIMIT 1ことをお勧めします。

categのみを選択する場合は、それのみを選択しますSELECT categ FROM...次に、 http://php.net/manual/de/function.mysql-result.phpを使用できます$catg = mysql_result($result, 0);

于 2012-07-03T10:46:47.453 に答える
0

mysql_query結果リソースを返します。返されたデータにアクセスするには、これをフェッチ関数に渡す必要があります。例えば:

$query = mysql_query($SQL);
$result = mysql_fetch_assoc($query);
$catg = $result['categ'];

拡張機能の使用mysql_は推奨されておらず、コミュニティは非推奨プロセスを開始していmysql_queryます。ドキュメントを読む必要があります。

http://php.net/manual/en/function.mysql-query.php

于 2012-07-03T10:47:11.653 に答える
0

現在、クエリの実行後に出力するためにphp関数を使用していません。

$result = mysql_query($SQL);
$res   = mysql_fetch_assoc($result);
echo $res['columnName'];
于 2012-07-03T10:46:04.180 に答える
0
$SQL = "SELECT * FROM massfelh WHERE user = $uname AND pass = md5($pword)";
$result = mysql_query($SQL);
$num_rows = mysql_num_rows($result);
$catg   = mysql_fetch_assoc($result);

echo $num_rows.' rows matched';
echo '<pre>';
print_r($catg);
echo '</pre>';
于 2012-07-03T10:46:12.667 に答える
0

あなたはそこを逃しmysql_fetch_assocました。そのはず

$SQL = "SELECT * FROM massfelh WHERE user = $uname AND pass = md5($pword)";
$query = mysql_query($SQL);
$result = mysql_fetch_assoc($query);
$catg = $result['categ'];
$num_rows = mysql_num_rows($result);
echo $catg;

もちろん、クエリもSELECT categ FROM massfelh WHERE user = $uname AND pass = md5($pword)

于 2012-07-03T10:46:21.550 に答える
0
$result = mysql_query($SQL); - this is too
$catg   = mysql_fetch_assoc($result);
print_r($catg);

mysql_queryリソースを返します。データをフェッチするには、次の関数のいくつかを使用する必要があります: - mysql_fetch_row (結果を数値配列として返す) - mysql_fetch_assoc (結果を assoc 配列として返す - 配列のキーは db テーブルのフィールド名) 2番目のパラメーターを渡さないでください)

しかし、Mysqli 拡張機能または PDO_Mysql を使用した方がよかったでしょう。

于 2012-07-03T10:42:04.760 に答える
0

「categ」のみが必要な場合は、それを選択してください。$result にも var_dump を使用します。

SELECT categ FROM massfelh WHERE user = $uname AND pass = md5($pword)
于 2012-07-03T10:43:33.540 に答える