Foros del Web » Programando para Internet » PHP »

Problema al cambiar extension de Mysql a Mysqli

Estas en el tema de Problema al cambiar extension de Mysql a Mysqli en el foro de PHP en Foros del Web. Bueno dias! Apeneas estoy iniciando en PHP y Mysql. Venia utilizando tutoriales donde se usa la extension Mysql y no Mysqli. Leyendo me he dado ...
  #1 (permalink)  
Antiguo 10/01/2014, 08:26
 
Fecha de Ingreso: enero-2014
Ubicación: USA
Mensajes: 50
Antigüedad: 10 años, 4 meses
Puntos: 0
Problema al cambiar extension de Mysql a Mysqli

Bueno dias! Apeneas estoy iniciando en PHP y Mysql. Venia utilizando tutoriales donde se usa la extension Mysql y no Mysqli. Leyendo me he dado cuenta que la primera tiene a desaparecer por lo cual comence a cambiar mi codigo a la nueva forma mysqli y me he encontrado varios problemas. Esta pagina que mostraba los resultados de una consulta me saca este error:

Fatal error: Non-static method mysqli::query() cannot be called statically in C:\wamp\www\CTE\consultaorganizada2.php on line 23


Miro la linea 23 y viendo el manual de PHP la he cambiado de mil maneras y no da. Adjunto el codigo y gracias por la colaboracion.


Código PHP:
<?php

$con 
= new mysqli("localhost""andres","password""cte");
if (
$con-> connect_errno) {
echo 
"No se pudo conectar a Mysql(".$con->connect_errno.")"$con->connect_error;
}
echo 
$con->host_info ."\n";

$con = new mysqli("127.0.0.1""andres","password","cte" );
if (
$con-> connect_errno) {
echo 
"No se pudo conectar a Mysql:(".$con->connect_errno.")"$con->connect_error;

}

$sql "SELECT * FROM clientes C INNER JOIN producto P ON C.serial = P.serial";
$myData mysqli::query ($sql,$con);
echo 
"<table border=1> 
<tr>
<th>Cliente</th>
<th>Cedula</th>
<th>Orden numero</th>
<th>Email</th>
<th>Barrio</th>
<th>Telefono</th>
<th>Producto</th>
<th>Marca</th>
<th>Almacen</th>
<th>Dano</th>
<th>Fecha de recepcion</th>
<th>Tecnico</th>
<th>Estado</th>
<th>Sede</th>
<th>Fecha de entrega</th>
</tr>"
;

while (
$record mysqli_result::fetch_array($myData)){

echo 
"<tr>";
echo 
"<td>" $record['cliente'] . "</td>"
echo 
"<td>" $record['cedula'] . "</td>"
echo 
"<td>" $record['serial'] . "</td>"
echo 
"<td>" $record['email'] . "</td>"
echo 
"<td>" $record['barrio'] . "</td>";
echo 
"<td>" $record['telefono'] . "</td>";
echo 
"<td>" $record['producto'] . "</td>"
echo 
"<td>" $record['marca'] . "</td>"
echo 
"<td>" $record['almacen'] . "</td>"
echo 
"<td>" $record['dano'] . "</td>"
echo 
"<td>" $record['fecharecepcion'] . "</td>"
echo 
"<td>" $record['tecnico'] . "</td>"
echo 
"<td>" $record['estado'] . "</td>"
echo 
"<td>" $record['sede'] . "</td>"
echo 
"<td>" $record['entregaacliente'] . "</td>";
}

echo 
"</table>";




mysqli_close ($con); 
 
?>

?>
</body>
</html>
Gracias por la colaboracion!
  #2 (permalink)  
Antiguo 10/01/2014, 09:29
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 10 años, 8 meses
Puntos: 4
Respuesta: Problema al cambiar extension de Mysql a Mysqli

te recomiendo que lo uses orientada a objetos, te ahorraras escribir tanto codigo por ejemplo

Código PHP:
$myData=$con->query("SELECT * FROM clientes C INNER JOIN producto P ON C.serial = P.serial"); 
En lugar de escribir todo por aparte

la otra seria

Código PHP:
while ($record $myData->fetch_array()){ 
ahora si lo queres dejar como está el problema es que estas diciendo que primero te haga la consulta y despues la conexion cuando en mysqli primero es la conexion y despues la consulta

Código PHP:
$myData mysqli::query ($con,$sql); 

Etiquetas: extension, fecha, html, mysql, mysqli, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:51.