数は

2011-06-22 4 views
1

これはおそらく、やや簡単な質問ですが、私は、クエリステートメント(特にSELECT文は)唯一のパラメータの特定の数が含まれていることを確認しようとしています:数は

$result = mysql_query("select type,some_other_column from my_table"); 
$row = mysql_fetch_array($result); 
$number = count($row); 
print $number; 

をこれは、私が返すべきであると思う数の2倍を返す(4) - キーと値を別々のパラメータとして返す必要があると私は信じている。

上記のselectステートメントは単なる例であり、任意の数のステートメントにすることができます。彼らははるかに複雑になる可能性があり、私が行ったテストは何の問題もないようです。私はこれまでに2つのパラメータ(それは任意の2つであることができる)のみが存在することを確認したいと思うし、別のテーブルからでも可能性があります。

私は、上でやっていることが、パラメータの数が正しいことを確認する最も速い方法であることと、はるかに複雑なステートメントがあれば動揺しないことを確認したいだけですそれ。

本当に簡単な答えがあると確信しています。助けを前にありがとう。

+0

なぜ、返される列の数をチェックしているのか不思議です。 [mysql_fetch_field](http://us2.php.net/mysql_fetch_field)を試してください。しかし、MySQLのVIEWもチェックしてください。 – Mikhail

+0

特定の数の「パラメータ」は、特定の数の「行」を意味しますか? – carlbenson

答えて

1

mysql_fetch_assocまたはmysql_fetch_rowを試してください。どちらの関数もphp.netで利用可能

mysql_fetch_array - 結果行を連想配列、数値配列、またはその両方として取得します。私は私はあなたの質問を右に理解を確認していない

$result = mysql_query("select type,some_other_column from my_table"); 
$row = mysql_fetch_array($result); 
/* 
    $row = array(
     'type' => 'type_value', 
     '0' => 'type_value', 
     'some_other_column' => 'col_value', 
     '1' => 'col_value' 
    ) 
*/ 
$number = count($row); 
print $number; // prints 4 
+0

ありがとう..それは私が思ったことです、私はちょうどもっと洗練された、速い方法をそれを得ると思った、と私は確信している2つの方法のいずれかをそれを行う必要があります:) –

+0

あなたが望むプロジェクト成長するには、MySQL用のクラスラッパーを使用することができます。私は自分自身を書いた、私はそこにトンがあると確信している。ラッパーは、メモリをクリーンアップし、1行、または最初の行の最初の列だけを返す便利な単一関数呼び出しを持つのに役立ちます。気軽にメッセージを送ってください – Mikhail

0

を倍に終わります。

戻り値の数を1行に制限したいだけですか?

これがポイントの場合は、LIMIT 1をSQLクエリに追加できます。これは、結果として1行に制限されます。

0

:あなたは

$row["type"] = "somevalue"; // AND 
$row[0] = "somevalue"; 

は、したがって、あなたのコード内のように、あなたSELECTは、$row変数になりますどのような数

+0

彼は返される列の数ではなく、行の数をチェックしたいと考えています。 – Mikhail