这可能是一个有点简单的问题,但我试图确保查询语句(特别是select语句)仅包含特定数量的参数:
$result = mysql_query("select type,some_other_column from my_table");
$row = mysql_fetch_array($result);
$number = count($row);
print $number;
这会返回我认为它应返回的数字的两倍(4) - 因为我认为它还必须将键和值作为单独的参数返回。
上面的select语句只是一个例子,它可以是任意数量的语句。它们可能会复杂得多,我运行的测试似乎没有任何问题。我想确保只有两个参数(可以是任意两个),它们也可以来自不同的表。
我只是想确保我上面所做的是检查参数数量是否正确的最快方法,如果有一个更复杂的声明,它将不会被扰乱
我相信这有一个非常简单的答案。提前感谢您的帮助。
答案 0 :(得分:1)
尝试mysql_fetch_assoc或mysql_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查询中。正如它所说,这会将结果数限制为一行。