select语句中请求的参数数量

时间:2011-06-22 13:15:48

标签: mysql

这可能是一个有点简单的问题,但我试图确保查询语句(特别是select语句)仅包含特定数量的参数:

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

这会返回我认为它应返回的数字的两倍(4) - 因为我认为它还必须将键和值作为单独的参数返回。

上面的select语句只是一个例子,它可以是任意数量的语句。它们可能会复杂得多,我运行的测试似乎没有任何问题。我想确保只有两个参数(可以是任意两个),它们也可以来自不同的表。

我只是想确保我上面所做的是检查参数数量是否正确的最快方法,如果有一个更复杂的声明,它将不会被扰乱

我相信这有一个非常简单的答案。提前感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

尝试mysql_fetch_assocmysql_fetch_row。这两个函数在php.net上都可用

mysql_fetch_array - 将结果行作为关联数组,数字数组或两者获取。你最终有了

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

因此加倍数

答案 1 :(得分:0)

SELECT变量中$row的任何内容,代码中都是如此:

$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

答案 2 :(得分:0)

我不确定我是否理解你的问题。

您是否只想将返回值的数量限制为一行?

如果这是您的观点,您可以将LIMIT 1添加到SQL查询中。正如它所说,这会将结果数限制为一行。