> Faqs > PHP Fatal error: Call to a member function RecordCount() on boolean in home.php on line 123

PHP Fatal error: Call to a member function RecordCount() on boolean in home.php on line 123

Buenos dias amigos, solicito ayuda con este error en php

PHP Fatal error:  Call to a member function RecordCount() on boolean in /home/marcali/public_html/usados-producto/home.php on line 123

Este es mi código PHP

<div class="cuerpo">
    <?php
    if ($result->RecordCount() > 0) { ?>
        <div class="row">
            <?php
    		while (!$result->EOF) {
    			$imagenes = explode(",", $result->fields["fotos"]);
    			//$fotom=$imagenes[0];  // machete
    			for ($ii = 0; $ii < count($imagenes); $ii++) {
    				if (substr($imagenes[$ii], -1, 1) == '1') {
    					$fotom = $imagenes[$ii];
    				}
    			}
    		}
	        ?>

Respuestas

Lo que te está diciendo PHP con ese error es que estás intentando llamar a un método sobre una variable de tipo boleano, cuando tú crees que es un objeto.

Cuando invocas el método RecordCount():

$result->RecordCount()

La variable $result te está diciendo que contiene un boleano. Debería ser un objeto de resultados para que te funcione.

Cuando ejecutas consultas SQL muchas te devuelven boleanos en lugar de conjuntos de resultados. Pero como no has puesto el código donde creaste la variable $result no te puedo decir exactamente.

Realmente la única sentencia SQL que te devuelve un resultado es la sentencia SQL Select, pero yo diría que habrás hecho un insert o un update o algo así, que son las sentencias que te devuelven boleanos, indicando si fue o no correcta la ejecución.

Para salir de dudas y poderte decir bien, deberías editar la pregunta e incluir el código donde generas la variable $result.

Alfonso
274 10 18 16

ante todo gracias por su atencion

el codigo en mi php es un poco largo, la varia ble esta asi:

//$db->SetFetchMode(ADODB_FETCH_ASSOC);
$where="";
if(isset($_POST["precio"]) and $_POST["precio"]!='0'){
	if($_POST["precio"]=='1'){$where.="AND precio BETWEEN 10000000 AND 20000000 ";}
	if($_POST["precio"]=='2'){$where.="AND precio BETWEEN 20000000 AND 30000000 ";}
	if($_POST["precio"]=='3'){$where.="AND precio BETWEEN 30000000 AND 40000000 ";}
	if($_POST["precio"]=='4'){$where.="AND precio BETWEEN 40000000 AND 60000000 ";}
	if($_POST["precio"]=='5'){$where.="AND precio BETWEEN 60000000 AND 80000000 ";}
	if($_POST["precio"]=='6'){$where.="AND precio BETWEEN 80000000 AND 100000000 ";}
	if($_POST["precio"]=='7'){$where.="AND precio > 100000000";}
}
if(isset($_POST["marca"]) and $_POST["marca"]!='0'){$where.="AND marca like '%".$_POST["marca"]."%' ";}
if(isset($_POST["tipov"]) and $_POST["tipov"]!='0'){$where.="AND tipoVehiculo like '%".$_POST["tipov"]."%' ";}
if(isset($_POST["modelo"]) AND $_POST["modelo"]!='0'){$where.="AND modelo like '".$_POST["modelo"]."' ";}
if(isset($_POST["kilometros"]) AND $_POST["kilometros"]!='0'){
	if($_POST["kilometros"]=='1'){$where.="AND km BETWEEN 0 AND 10000 ";}
	if($_POST["kilometros"]=='2'){$where.="AND km BETWEEN 10000 AND 20000 ";}
	if($_POST["kilometros"]=='3'){$where.="AND km BETWEEN 20000 AND 30000 ";}
	if($_POST["kilometros"]=='4'){$where.="AND km BETWEEN 30000 AND 40000 ";}
	if($_POST["kilometros"]=='5'){$where.="AND km BETWEEN 40000 AND 50000 ";}
	if($_POST["kilometros"]=='6'){$where.="AND km BETWEEN 50000 AND 60000 ";}
	if($_POST["kilometros"]=='7'){$where.="AND km BETWEEN 60000 AND 70000 ";}
	if($_POST["kilometros"]=='8'){$where.="AND km BETWEEN 70000 AND 80000 ";}
	if($_POST["kilometros"]=='9'){$where.="AND km BETWEEN 80000 AND 90000 ";}
	if($_POST["kilometros"]=='10'){$where.="AND km BETWEEN 90000 AND 100000 ";}
}
$sql="SELECT * FROM usados where 1=1 ".$where;
$result = $db->Execute($sql);;
?>
<script>
function enviarpost(){$("#formulario").submit();agrandar();}
function agrandar(){setTimeout("agrandar2()",500);}
function agrandar2(){window.parent.inis();}
</script>
<body>
 <div>
 <div class="box">
 <form method="POST" name="formulario" action="./" id="formulario">
	<div class="subox borde1">
	 <select class="form-control" style="font-weight:bold" name="precio" id="precio" onChange="enviarpost()">
		<option value="0">PRECIO</option>
		<option value="1" <?php if($_POST["precio"]=='1'){?>selected <?php } ?>>de 10 a 20 millones</option>
		<option value="2" <?php if($_POST["precio"]=='2'){?>selected <?php } ?>>de 20 a 30 millones</option>
		<option value="3" <?php if($_POST["precio"]=='3'){?>selected <?php } ?>>de 30 a 40 Millones</option>
		<option value="4" <?php if($_POST["precio"]=='4'){?>selected <?php } ?>>de 40 a 60 Millones</option>
		<option value="5" <?php if($_POST["precio"]=='5'){?>selected <?php } ?>>de 60 a 80 Millones</option>
		<option value="6" <?php if($_POST["precio"]=='6'){?>selected <?php } ?>>de 80 a 100 Millones</option>
		<option value="7" <?php if($_POST["precio"]=='7'){?>selected <?php } ?>>mas de 100 Millones</option>
	 </select>
	</div>
	<div class="subox">
	 <select class="form-control" style="font-weight:bold" name="marca" id="marca" onChange="enviarpost()">
		<option value="0">TODAS LAS MARCA</option>
		<option value="Audi" <?php if($_POST["marca"]=='Audi'){?>selected <?php } ?>>AUDI</option>
		<option value="Citroen" <?php if($_POST["marca"]=='Citroen'){?>selected <?php } ?>>Citroen</option>
		<option value="Chevrolet" <?php if($_POST["marca"]=='Chevrolet'){?>selected <?php } ?>>Chevrolet</option>
		<option value="Hyundai" <?php if($_POST["marca"]=='Hyundai'){?>selected <?php } ?>>Hyundai</option>
		<option value="Mazda" <?php if($_POST["marca"]=='Mazda'){?>selected <?php } ?>>Mazda</option>
		<option value="Mercedes Benz" <?php if($_POST["marca"]=='Mercedes Benz'){?>selected <?php } ?>>Mercedes Benz</option>
		<option value="Mini Cooper" <?php if($_POST["marca"]=='Mini Cooper'){?>selected <?php } ?>> Mini Cooper</option>
		<option value="Nissan" <?php if($_POST["marca"]=='Nissan'){?>selected <?php } ?>>Nissan</option>
		<option value="Peugeot" <?php if($_POST["marca"]=='Peugeot'){?>selected <?php } ?>>Peugeot</option>
		<option value="Renault" <?php if($_POST["marca"]=='Renault'){?>selected <?php } ?>>Renault</option>
		<option value="Volvo" <?php if($_POST["marca"]=='Volvo'){?>selected <?php } ?>>Volvo</option>
		<option value="Dodge" <?php if($_POST["marca"]=='Dodge'){?>selected <?php } ?>>Dodge</option>
		<option value="Ford" <?php if($_POST["marca"]=='Ford'){?>selected <?php } ?>>Ford</option>
		<option value="Jeep" <?php if($_POST["marca"]=='Jeep'){?>selected <?php } ?>>Jeep</option>
		<option value="Ram" <?php if($_POST["marca"]=='Ram'){?>selected <?php } ?>>Ram</option>
		<option value="Kia" <?php if($_POST["marca"]=='Kia'){?>selected <?php } ?>>Kia</option>
	 </select>
	</div>
	<div class="subox">
	 <select class="form-control" style="font-weight:bold" name="tipov" id="tipov" onChange="enviarpost()" >
		<option value="0">TIPO DE VEHÍCULO</option>
		<option value="sedan" <?php if($_POST["tipov"]=='sedan'){?>selected <?php } ?>>Automóvil</option>
		<option value="Campero" <?php if($_POST["tipov"]=='Campero'){?>selected <?php } ?>>Campero</option>
		<option value="Camioneta" <?php if($_POST["tipov"]=='Camioneta'){?>selected <?php } ?>>Camioneta</option>
	 </select>
	</div>
	<div class="subox">
	 <select class="form-control" style="font-weight:bold" name="kilometros" id="kilometros" onChange="enviarpost()" >
		<option value="0">KILÓMETROS</option>
		<option value="1" <?php if($_POST["kilometros"]=='1'){?>selected <?php } ?>>0 a 10.000</option>
		<option value="2" <?php if($_POST["kilometros"]=='2'){?>selected <?php } ?>>10.000 a 20.000</option>
		<option value="3" <?php if($_POST["kilometros"]=='3'){?>selected <?php } ?>> 20.000 a 30.000 </option>
		<option value="4" <?php if($_POST["kilometros"]=='4'){?>selected <?php } ?>>30.000 a 40.000</option>
		<option value="5" <?php if($_POST["kilometros"]=='5'){?>selected <?php } ?>>40.000 a 50.000</option>
		<option value="6" <?php if($_POST["kilometros"]=='6'){?>selected <?php } ?>>50.000 a 60.000</option>
		<option value="7" <?php if($_POST["kilometros"]=='7'){?>selected <?php } ?>>60.000 a 70.000</option>
		<option value="8" <?php if($_POST["kilometros"]=='8'){?>selected <?php } ?>>70.000 a 80.000</option>
		<option value="9" <?php if($_POST["kilometros"]=='9'){?>selected <?php } ?>>80.000 a 90.000</option>
		<option value="10" <?php if($_POST["kilometros"]=='10'){?>selected <?php } ?>>90.000 a 100.000</option>
	 </select>
	</div>
	<div class="subox noborde">
	 <select class="form-control" style="font-weight:bold" name="modelo" id="modelo" onChange="enviarpost()" >
		<option value="0">MODELO</option>
		<option value="2000" <?php if($_POST["modelo"]=='2000'){?>selected <?php } ?>>2000</option>
		<option value="2001" <?php if($_POST["modelo"]=='2001'){?>selected <?php } ?>>2001</option>
		<option value="2002" <?php if($_POST["modelo"]=='2002'){?>selected <?php } ?>>2002</option>
		<option value="2003" <?php if($_POST["modelo"]=='2003'){?>selected <?php } ?>>2003</option>
		<option value="2004" <?php if($_POST["modelo"]=='2004'){?>selected <?php } ?>>2004</option>
		<option value="2005" <?php if($_POST["modelo"]=='2005'){?>selected <?php } ?>>2005</option>
		<option value="2006" <?php if($_POST["modelo"]=='2006'){?>selected <?php } ?>>2006</option>
		<option value="2007" <?php if($_POST["modelo"]=='2007'){?>selected <?php } ?>>2007</option>
		<option value="2008" <?php if($_POST["modelo"]=='2008'){?>selected <?php } ?>>2008</option>
		<option value="2009" <?php if($_POST["modelo"]=='2009'){?>selected <?php } ?>>2009</option>
		<option value="2010" <?php if($_POST["modelo"]=='2010'){?>selected <?php } ?>>2010</option>
		<option value="2011" <?php if($_POST["modelo"]=='2011'){?>selected <?php } ?>>2011</option>
		<option value="2012" <?php if($_POST["modelo"]=='2012'){?>selected <?php } ?>>2012</option>
		<option value="2013" <?php if($_POST["modelo"]=='2013'){?>selected <?php } ?>>2013</option>
		<option value="2014" <?php if($_POST["modelo"]=='2014'){?>selected <?php } ?>>2014</option>
		<option value="2015" <?php if($_POST["modelo"]=='2015'){?>selected <?php } ?>>2015</option>
		<option value="2016" <?php if($_POST["modelo"]=='2016'){?>selected <?php } ?>>2016</option>
	 </select>
	</div>
 </form>
 </div>
 </div>
<div>
	<div class="cuerpo"><?php
		if($result->RecordCount()>0){ ?>
		<div class="row"><?php
			while (!$result->EOF){
				$imagenes = explode(",", $result->fields["fotos"]);
				//$fotom=$imagenes[0];  // machete
				for($ii=0;$ii<count($imagenes);$ii++){if(substr($imagenes[$ii], -1, 1)=='1'){$fotom=$imagenes[$ii];}}
				?>
				<div class="col-sm-3">
					<div class="bq">
						<p><?php echo $result->fields["marca"];	 ?>&nbsp;<?php echo substr($result->fields["version"], 0, 10);	?></p>
						<hr>
						<div align="center"><a target="_parent" href="/usados/detalle/?id=<?php echo $result->fields["id"]; ?>"><img src="<?php echo $fotom; ?>" class="img-responsive" style="max-height:143px;" /></a></div>
						<ul>
							<li><span>Marca:</span> <?php echo $result->fields["marca"]; ?></li>
							<li><span>Ref:</span> <?php echo substr($result->fields["version"],0,23); ?></li>
							<li><span>Modelo:</span> <?php echo $result->fields["modelo"]; ?></li>
							<li><span>kilometros:</span> <?php echo $result->fields["km"]; ?></li>
							<li><ul>
								<?php
                            if($result->fields["precio"]>0){ ?>

								<li class="pre">Precio <span style="margin-top:-10px">$ <?php echo number_format ($result->fields["precio"],0); ?></span></li>
                               
              <?php
		}else{
			echo '<div class="vendido" align="center">No Disponible</div>';
		} ?>

							</ul></li>
						</ul>
						<a target="_parent" href="/usados/contacta-a-un-asesor/?id=<?php echo $result->fields["id"];	 ?>" class="pull-right cot">&nbsp;&nbsp;&nbsp; <i class="fa fa-plus-circle" aria-hidden="true"></i>	 cotizar&nbsp;&nbsp;&nbsp;</a>
						<a target="_parent" href="/usados/detalle/?id=<?php echo $result->fields["id"];	 ?>" class="pull-right cot">&nbsp;&nbsp;&nbsp; <i class="fa fa-plus-circle" aria-hidden="true"></i> Detalle&nbsp;&nbsp;&nbsp;</a>
					</div>
				</div><?php
				$result->MoveNext();
			} ?>
		</div><?php
		}else{
			echo '<div align="center">No se han encontrado vehículos con el criterio de búsqueda elegido, por favor intente de nuevo con otras opciones.</div>';
		} ?>
	</div>
</div>
Wilson
0
Tienes que editar la pregunta para incluir las partes que quieras aclarar! El método Execute no existe (en todo caso sería execute() y se ha declarado obsoleto). Podrías usar query() o bien execute_query().

ya puse el codigo completo (no soy muy experto en php)

Wilson
0

¿Has probado lo que te dice Alfonso?

El método Execute no existe (en todo caso sería execute() y se ha declarado obsoleto). Podrías usar query() o bien execute_query().

Prueba a usar el método query() y nos dices qué pasa

$result = $db->query($sql);
Miguel Angel
3090 138 206 17
Buen dia Ante todo gracias por sus comentarios, no funciono con el metodo query() Alguna otra idea? Imprime la sentencia SQL generada desde PHP y ejecútala directamente en la consola de MySQL para ver si te muestra los resultados que estás esperando. Siempre ayuda.