Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] mysqli_error() expects exactly 1 parameter, 0 given

Estas en el tema de mysqli_error() expects exactly 1 parameter, 0 given en el foro de PHP en Foros del Web. Buenas tardes: Os paso este código. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <?php                         ...
  #1 (permalink)  
Antiguo 15/03/2015, 13:15
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 4 meses
Puntos: 1
mysqli_error() expects exactly 1 parameter, 0 given

Buenas tardes:

Os paso este código.
Código PHP:
Ver original
  1. <?php
  2.            
  3.             include("conexion.php");
  4.             $sql = "SELECT Presupuestos.Id_Presupuesto AS Id_Pre,
  5.                            Presupuestos.Ref_Pres AS Presupuesto,
  6.                            Presupuestos.Fecha_fin AS Fecha,
  7.                            YEAR(Presupuestos.Fecha_fin) AS Año,
  8.                            WEEK(Presupuestos.Fecha_fin,7) AS Semana,                       
  9.                            Presupuestos.Id_Cliente AS Cliente,
  10.                            Servicios.Servicio As Servicio,
  11.                            Servicios.Producto AS Producto,
  12.                            Solicitudes.Tiempo As Tiempo,
  13.                            Solicitudes.Usuarios AS Usuarios,
  14.                            Solicitudes.Precio AS Precio,
  15.                            Solicitudes.Coste As Coste,
  16.                            Solicitudes.Sumprecio AS Tot_Precio,
  17.                            Solicitudes.Sumcoste AS Tot_Coste,
  18.                            Presupuestos.Depos AS Deposito
  19.                     FROM Servicios INNER JOIN (Solicitudes
  20.                                     INNER JOIN Presupuestos ON Solicitudes.Ref_Pres = Presupuestos.Ref_Pres)
  21.                     ON Servicios.Id_Servicio = Solicitudes.Ref_Serv
  22.                     WHERE YEAR(Presupuestos.Fecha_fin) = YEAR('20150314') AND WEEK(Presupuestos.Fecha_fin,7) = WEEK('20150314',7)";
  23.             $cs=mysqli_query($cn,$sql) or die(mysqli_error());
  24.             var_dump($_POST);
  25.                 while($row_resultado = mysqli_fetch_array($cs))
  26.                     {
  27.                         echo "<table >";
  28.                             echo "<tr>";
  29.                                 echo"<td><a href='form_principal.php?key=".$row_resultado['Id_Pre']."'>".$row_resultado['Presupuesto']."</a> </td>";
  30.                                 echo"<td>".$row_resultado['Fecha']              ."</td>";
  31.                                 echo"<td> Años: ".$row_resultado['Año'] ."</td>";
  32.                                 echo"<td> Semana: ".$row_resultado['Semana']    ."</td>";
  33.                                 echo"<td> Cliente: ".$row_resultado['Cliente']  ."</td>";
  34.                                 echo"<td> Servicio: ".$row_resultado['Servicio']    ."</td>";
  35.                                 echo"<td> Producto: ".$row_resultado['Producto']    ."</td>";
  36.                                 echo"<td> Tiempo: ".$row_resultado['Tiempo']    ."</td>";
  37.                                 echo"<td> Usuarios: ".$row_resultado['Usuarios']    ."</td>";
  38.                                 echo"<td> Precio: ".$row_resultado['Precio']."</td>";
  39.                                 echo"<td> Coste: ".$row_resultado['Coste']."</td>";
  40.                                 echo"<td> Tot_Precio: ".$row_resultado['Tot_Precio']."</td>";
  41.                                 echo"<td> Tot_Coste: ".$row_resultado['Tot_Coste']."</td>";
  42.                                 echo"<td> Deposito: ".$row_resultado['Deposito']."</td>";
  43.                             echo "</tr>";
  44.                         echo "</table>";
  45.                      }
  46.  
  47. ?>

Obtengo el siguiente mensaje de error:
mysqli_error() expects exactly 1 parameter, 0 given
He ejecutado la consulta en phpMyAdmin y devuelve los resultados esperados.

¿Alguna idea?
Gracia
  #2 (permalink)  
Antiguo 15/03/2015, 13:37
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 13 años, 11 meses
Puntos: 468
Respuesta: mysqli_error() expects exactly 1 parameter, 0 given

Si le pasas el parametro a mysqli_error de la conexion ?

Código PHP:
Ver original
  1. die('Error: ' . mysqli_error($cn));

Prueba a ver y dinoss
__________________
No te olvides de dar +1 a quien te echa un cable ;)
  #3 (permalink)  
Antiguo 15/03/2015, 13:39
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.551
Antigüedad: 12 años, 4 meses
Puntos: 977
Respuesta: mysqli_error() expects exactly 1 parameter, 0 given

El error es evidente y el mismo mensaje te lo indica: No estás indicando el parámetro que debe de recibir la función, el cual debe de ser el objeto de la conexión, que en tu caso es $cn.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #4 (permalink)  
Antiguo 15/03/2015, 13:53
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: mysqli_error() expects exactly 1 parameter, 0 given

Hola:
NEGATIVO.
La conexión está bien.
He eliminado de la página:
Código PHP:
Ver original
  1. include("conexion.php");

En una sección de otra página que tiene el include('conexión.php')
hago dos include:

Código PHP:
Ver original
  1. <?php
  2.             include('ver_servicios.php');
  3.             include ('Tesoreria.php');
  4.             ?>
El primer include se ejecuta.
El segundo, que contiene el código que me da error, sigue dando el mismo error.
  #5 (permalink)  
Antiguo 15/03/2015, 13:55
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 13 años, 11 meses
Puntos: 468
Respuesta: mysqli_error() expects exactly 1 parameter, 0 given

Pero le has pasado el parámetro $cn al mysqli_error() como te hemos dicho ? Ponlo y dinos si te sale otro error o el mismo porque mysqli_error() necesita que se le pase ese parámetro

Deja esa linea así:

Código PHP:
Ver original
  1. $cs=mysqli_query($cn,$sql) or die(mysqli_error($cn));
__________________
No te olvides de dar +1 a quien te echa un cable ;)

Última edición por rodrypaladin; 15/03/2015 a las 14:09
  #6 (permalink)  
Antiguo 15/03/2015, 14:14
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: mysqli_error() expects exactly 1 parameter, 0 given

Ok:
Código PHP:
Ver original
  1. $cs=mysqli_query($cn,$sql) or die(mysqli_error($cn));
Obtengo esta respuesta

Erreur de syntaxe près de '±o, WEEK(Presupuestos.Fecha_fin,7) AS Semana, Pr' à la ligne 4
  #7 (permalink)  
Antiguo 15/03/2015, 14:18
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: mysqli_error() expects exactly 1 parameter, 0 given

He sustituido la "ñ" de Año por "m", por si es un problema de uso de ñ.
Al hacerlo obtengo de nuevo el error origen de esta consulta.

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, object given in C:\wamp\www\Formulario html\Tesoreria.php on line 46
  #8 (permalink)  
Antiguo 15/03/2015, 14:32
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 13 años, 11 meses
Puntos: 468
Respuesta: mysqli_error() expects exactly 1 parameter, 0 given

Ese es otro error distinto

Que yo vea mysqli_error() expects exactly 1 parameter, 0 given es distinto a Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, object given in C:\wamp\www\Formulario html\Tesoreria.php on line 46]

Pon lo que tenemos en esa linea 46 que es donde te marca el error
__________________
No te olvides de dar +1 a quien te echa un cable ;)
  #9 (permalink)  
Antiguo 15/03/2015, 14:44
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: mysqli_error() expects exactly 1 parameter, 0 given

Código PHP:
Ver original
  1. while($row_resultado = mysqli_fetch_array($cn,$sql))
  #10 (permalink)  
Antiguo 15/03/2015, 14:46
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 13 años, 11 meses
Puntos: 468
Respuesta: mysqli_error() expects exactly 1 parameter, 0 given

Me expliqué mal, el while empieza ahí pero tiene más código, muéstralo todo
__________________
No te olvides de dar +1 a quien te echa un cable ;)
  #11 (permalink)  
Antiguo 15/03/2015, 14:55
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: mysqli_error() expects exactly 1 parameter, 0 given

Te paso el código de la página entero.
Código PHP:
Ver original
  1. $sql = "SELECT Presupuestos.Id_Presupuesto AS Id_Pre,
  2.                            Presupuestos.Ref_Pres AS Presupuesto,
  3.                            Presupuestos.Fecha_fin AS Fecha,
  4.                            YEAR(Presupuestos.Fecha_fin) AS Amo,
  5.                            WEEK(Presupuestos.Fecha_fin,7) AS Semana,                       
  6.                            Presupuestos.Id_Cliente AS Cliente,
  7.                            Servicios.Servicio As Servicio,
  8.                            Servicios.Producto AS Producto,
  9.                            Solicitudes.Tiempo As Tiempo,
  10.                            Solicitudes.Usuarios AS Usuarios,
  11.                            Solicitudes.Precio AS Precio,
  12.                            Solicitudes.Coste As Coste,
  13.                            Solicitudes.Sumprecio AS Tot_Precio,
  14.                            Solicitudes.Sumcoste AS Tot_Coste,
  15.                            Presupuestos.Depos AS Deposito
  16.                     FROM Servicios INNER JOIN (Solicitudes
  17.                                     INNER JOIN Presupuestos ON Solicitudes.Ref_Pres = Presupuestos.Ref_Pres)
  18.                     ON Servicios.Id_Servicio = Solicitudes.Ref_Serv
  19.                     WHERE YEAR(Presupuestos.Fecha_fin) = YEAR('20150314') AND WEEK(Presupuestos.Fecha_fin,7) = WEEK('20150314',7)";
  20.             $cs=mysqli_query($cn,$sql) or die(mysqli_error($cn));
  21.             var_dump($_POST);
  22.                 while($row_resultado = mysqli_fetch_array($cn,$sql))
  23.                     {
  24.                         echo "<table >";
  25.                             echo "<tr>";
  26.                                 echo"<td><a href='form_principal.php?key=".$row_resultado['Id_Pre']."'>".$row_resultado['Presupuesto']."</a> </td>";
  27.                                 echo"<td>".$row_resultado['Fecha']              ."</td>";
  28.                                 echo"<td> Años: ".$row_resultado['Año'] ."</td>";
  29.                                 echo"<td> Semana: ".$row_resultado['Semana']    ."</td>";
  30.                                 echo"<td> Cliente: ".$row_resultado['Cliente']  ."</td>";
  31.                                 echo"<td> Servicio: ".$row_resultado['Servicio']    ."</td>";
  32.                                 echo"<td> Producto: ".$row_resultado['Producto']    ."</td>";
  33.                                 echo"<td> Tiempo: ".$row_resultado['Tiempo']    ."</td>";
  34.                                 echo"<td> Usuarios: ".$row_resultado['Usuarios']    ."</td>";
  35.                                 echo"<td> Precio: ".$row_resultado['Precio']."</td>";
  36.                                 echo"<td> Coste: ".$row_resultado['Coste']."</td>";
  37.                                 echo"<td> Tot_Precio: ".$row_resultado['Tot_Precio']."</td>";
  38.                                 echo"<td> Tot_Coste: ".$row_resultado['Tot_Coste']."</td>";
  39.                                 echo"<td> Deposito: ".$row_resultado['Deposito']."</td>";
  40.                             echo "</tr>";
  41.                         echo "</table>";
  42.                      }

El while se corresponde con la linea que señala el error.
  #12 (permalink)  
Antiguo 15/03/2015, 14:55
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.551
Antigüedad: 12 años, 4 meses
Puntos: 977
Respuesta: mysqli_error() expects exactly 1 parameter, 0 given

A mysqli_fetch_array, no tienes por qué pasarle el objeto de la conexión.

Necesitas leer el manual de PHP.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #13 (permalink)  
Antiguo 15/03/2015, 14:58
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 13 años, 11 meses
Puntos: 468
Respuesta: mysqli_error() expects exactly 1 parameter, 0 given

Cierto ahí estaba y no lo vi yo tampoco. Un hacha
__________________
No te olvides de dar +1 a quien te echa un cable ;)
  #14 (permalink)  
Antiguo 15/03/2015, 15:06
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: mysqli_error() expects exactly 1 parameter, 0 given

Uff.
A veces es mejor dejar el código un rato y airearse.
Gracias.
  #15 (permalink)  
Antiguo 15/03/2015, 15:08
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: mysqli_error() expects exactly 1 parameter, 0 given

Ha funcionado y recoge la información.
Si venís por Málaga, tomamos unas birras.
Marco el tema como solucionado.

Etiquetas: expects, fecha, mysql, parameter, select, sql, usuarios
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 06:37.