4

あなたの答えをありがとう、彼らは本当に私を大いに助けてくれました!

私が間違っていることに興味があります: SQL ステートメントから値を取得できません。

私のデータベーステーブル構造: ここに画像の説明を入力

私のphpコード:

include('config.php');
$id = $_GET['id'];

$query = "SELECT * FROM upload WHERE id = '$id'";
echo $query."<br/>";


$result = mysql_query($query) or die('error');
print_r($result);
echo $result['id'];

テスト時に次の結果が得られます。

"SELECT * FROM アップロード WHERE id = '1'

リソース ID #2"

しかし、値が '2' の ID がありますが、なぜそれが私の html に表示されないのですか? 「while」ステートメントを使用するだけで、目的の結果が得られます。

while($results = mysql_fetch_array($result)) 
    {
        echo $results['filetitle'];
    }

この while ステートメントは単一の結果で必要ですか? つまり、IDは1つしかありません。

4

4 に答える 4

2

リソースはリソースです。いくつかの行が含まれています。返される行が 1 つだけの場合は、特別なケースではありません。

while結果が 1 つだけあることがわかっている場合は使用する必要はありませんが、結果mysql_fetch_arrayから最初の行を抽出するには、 またはその他の方法を使用する必要があります。

于 2013-04-17T11:58:04.953 に答える
1

SELECTステートメント returnResource ID #の場合、関数を使用して結果を反復する必要がありますmysql_fetch_array, mysql_fetch_assoc

于 2013-04-17T11:58:52.080 に答える
1

$resultは行列で、各行に出力があります。したがって、アクセスするにid は、まず行を指定する必要があります。

たとえば、$result[ 0 ][ 'id' ].

ただし、while($results = mysql_fetch_array($result))式で行う方がはるかに優れています。

于 2013-04-17T11:56:41.070 に答える
0

これで試してください

$result[0]['id'];
于 2013-04-17T11:57:19.613 に答える