为什么mysql_fetch_array不返回任何值?

时间:2014-11-12 11:48:17

标签: php mysql fetch

我有以下代码:

$q="select servicio_id from servicio where empresa_prestadora='".$empresa1."' and tipo_servicio='".$serv."'";
$emp_bus=mysql_query($q,$conexion) or die ("Error en insercion de recibo: ".mysql_error());
$res_recibo=mysql_fetch_array("emp_bus");

if($res_recibo){
$reciboins=mysql_query("insert into recibo (cod_recibo,fecha_recibo,valor,servicio_id) values ('".$codigo."','".$fecha."','".$costo."','".$res_recibo[0]."')") or die ("Error en insercion de recibo: ".mysql_error());
echo "Recibo agregado!";
}else echo "<b>Empresa no encontrada!</b>";

我在mysql workbench中尝试了这个查询(与un $ q完全相同)并且它工作得非常好,但当我echo res_recibo[0]时,它没有显示任何内容而且没有验证{ {1}}条件。

此外,在if我收到此警告:

PHP

如果有人能帮我看看有什么不对,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

错误消息确切地告诉您问题所在:mysql_fetch_array的第一个参数需要是结果对象。你传给它一个字符串(使用字符串文字)。

您的代码:

$res_recibo=mysql_fetch_array("emp_bus");

"emp_bus"显然是一个字符串。

您希望$emp_bus不是"emp_bus"