【发布时间】:2014-04-18 16:41:52
【问题描述】:
mysql_fetch_array 有问题。我正在尝试这样做:
if(count(mysql_fetch_array(mysql_query($peticion)))) {
array_push($errores, $texto['conta_existe']);
}
前面的代码应该检测 mysql_fetch_array 是否在我的数据库中找到一行,如果找到至少一个,则应该推送一个数组。问题是,如果我的数据库中没有任何内容,那么 fetch_array 会返回数字“1”。
我试图找出这种和平的代码发生了什么:
$arrayc = mysql_fetch_array(mysql_query($peticion), MYSQL_NUM);
echo 'PRINT_R: ';
echo print_r($arrayc);
echo '<br>COUNT: ';
echo count($arrayc);
然后返回:
PRINT_R:数组([0] => FLEREX [conta] => FLEREX)1
计数:2
我不明白为什么在数组之后会有第一个。前一个报价只返回一行,向您展示数组;但如果数据库中没有任何行,这就是我得到的:
PRINT_R:1
计数:1
我不知道那个从哪里来,但一直都在那里。
感谢阅读,抱歉我的英语不好。
【问题讨论】:
-
echo print_r($arrayc);....print_r($arrayc)输出$arrayc的值,并返回一个布尔值true;然后您将回显该返回值,并显示为1 -
删除此处的回声
echo print_r($arrayc) -
请注意,开始使用 PDO 或 mysqli 函数。它们更安全,而且 mysql_* 函数(即将?)被弃用。
-
mysql_* 自 PHP 5.5 起已弃用
-
@Bono 自 PHP 5.5.0 起,该扩展已被弃用。