Comunidad de diseño web y desarrollo en internet online

main():Property access is not allowed yet

Citar            
MensajeEscrito el 27 Ene 2015 10:06 am
Hola,

Recibo el siguiente mensaje como $php_errormsg debugeando con el netbeans
main():Property access is not allowed yet

y en el navegador se muestra el siguiente warning:

( ! ) Warning: main(): Couldn't fetch mysqli_result in C:\xampp\htdocs\coches\piezas\recambios\juntaculat a.php on line 52
Call Stack
# Time Memory Function Location
1 0.2070 165680 {main}( ) ..\presupuestosenviados.php:0

Se produce siempres después de liberar un resultado de una consulta mysql tipo:
$result->free();

Estoy utilizando mysqli tipo:

$consulta = "SELECT id FROM mensajes WHERE idRegprofes =$contIdmemberpro && enviaParti ='y' && enviaProfes='n' && leido ='n'";
if ($mens_ProfEntotal =$conn->query($consulta)){
if ($num_mens_entotal= mysqli_num_rows($mens_ProfEntotal)){

$cont_num_mens_entotal = true;

/* liberar el mens_ProfEntotal */
$mens_ProfEntotal->free(); después de ésta línea me tira el mencionado aviso
}
}


El caso es que el script en producción en un localhost bajo xampp funciona perfecto,
creo que el problema está relacionado con el cierre pues quizás mysql lo cierre de manera automática,
Alguien puede sugerirme algo?

Gracias!

Por maligix

13 de clabLevel



Genero:Masculino  

Directorio de profesionales

firefox
Citar            
MensajeEscrito el 27 Ene 2015 03:07 pm
Cambia los && po AND

Por JoaquinGonzalez

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 27 Ene 2015 06:35 pm
Según mysql es indiferente utilizar uno u otro.

Por maligix

13 de clabLevel



Genero:Masculino  

Directorio de profesionales

firefox
Citar            
MensajeEscrito el 28 Ene 2015 10:02 pm
Estás utilizando en un orden erróneo las funciones. Es como decir que estas liberando algo que puede NO estar creado.

Pasa el código de tu sentencia o el codigo completo "SOLO DEL PHP" o cámbialas a PDO como lo indico en mi página www.elporfirio.com

Saludos.

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

chrome
Citar            
MensajeEscrito el 29 Ene 2015 08:43 am

elporfirio escribió:

Estás utilizando en un orden erróneo las funciones. Es como decir que estas liberando algo que puede NO estar creado.

Pasa el código de tu sentencia o el codigo completo "SOLO DEL PHP" o cámbialas a PDO como lo indico en mi página www.elporfirio.com

Saludos.


De acuerdo y gracias por tu ayuda y atención, con pdo funciona todo ok, de hecho en otros scripts ya utilizo una clase que mediante un try catch abro y cierro conexiones y no da ningún tipo de error. Pero sigo sin entender porque no funciona con mysqli. De echo el error me lo tira debugeando pero el script se desarrolla correctamente.

Que quieres decir con "Estás utilizando en un orden erróneo las funciones" este es el codigo completo:

/*conexion */
$conn = new mysqli("localhost", "root", "xxxxx", "xxxxxx");

/* verificar la conexión */
if ($conn->connect_error) {
die('Error de Conexión (' . $conn->connect_errno . ') '
. $conn->connect_error);
}

if (!$conn->set_charset("utf8")) {//asignamos la codificación comprobando que no falle
die("Error cargando el conjunto de caracteres utf8");
}

$siHaymens_profporleer = "SELECT id FROM mensajes WHERE idRegprofes =$contIdmemberpro && enviaParti ='y' && enviaProfes='n' && leido ='n'";
if ($mens_ProfEntotal =$conn->query($siHaymens_profporleer)){
if ($num_mens_entotal= mysqli_num_rows($mens_ProfEntotal)){

$cont_num_mens_entotal = true;

/* liberar el mens_ProfEntotal */
$mens_ProfEntotal->free();
}
}

Por maligix

13 de clabLevel



Genero:Masculino  

Directorio de profesionales

firefox
Citar            
MensajeEscrito el 04 Feb 2015 04:13 pm
Pues no me sale nada de error... ni el warning que dices y eso que ya le habilite tooodo. LO probe en mi hosting.

Código PHP :

<?php
/**
 * Created by PhpStorm.
 * User: Porfirio
 * Date: 04/02/2015
 * Time: 09:55 AM
 */

$conexion = new mysqli("localhost", "root", "", "pruebas");

if($conexion->connect_error){
    die("error de conexion");
}

if($conexion->set_charset("UTF8") == false){
    die("no se pudo codificar a utf8");
}

$query = "SELECT * FROM car_models";

$resultados = $conexion->query($query);

$total = mysqli_num_rows($resultados);

$resultados->free();

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.