2011-09-30 27 views
8

estoy siguiendo un tutorial, sin embargo, el autor de la guía de aprendizaje no responder a las preguntas - pero aquí es mi consultaAdvertencia: mysqli_error() espera parámetro exactamente 1, 0 error dado

me sale el siguiente error Advertencia: mysqli_error() espera parámetro exactamente 1, 0 dado, el problema es con esta línea de código -

$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 

todo el código es

session_start(); 

require_once "scripts/connect_to_mysql2.php"; 

//Build Main Navigation menu and gather page data here 

$sqlCommand = "SELECT id, linklabel FROM pages ORDER BY pageorder ASC"; 

$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 

$menuDisplay = ''; 
while ($row = mysqli_fetch_array($query)) { 
    $pid = $row["id"]; 
    $linklabel = $row["linklabel"]; 

    $menuDisplay .= '<a href="index.php?pid=' . $pid . '">' . $linklabel . '</a><br />'; 

} 
mysqli_free_result($query); 

el archivo incluido tiene el seguimiento ing línea

$myConnection = mysqli_connect("$db_host","$db_username","$db_pass","$db_name") or die ("could not connect to mysql"); with reference to $myConnection, why do I get this error? 

Gracias

+0

He leído la documentación y no funcionó. –

+0

Algo no relacionado con la pregunta: "$ var" es redundante. Eso solo abre una cadena, ve el $ var, coloca su valor en la cadena y luego sale de la cadena. En otras palabras, puedes usar $ var. Al igual que mysqli_connect ($ db_host, $ db_username ....) – Corbin

+1

@ Corbin, no es necesariamente redundante. Algunas funciones integradas son estrictas sobre los tipos que aceptan, y '" $ var "' forzará una variable que no sea de cadena a un tipo de cadena para pasar a la función. Entonces, si '$ var = 0;', '" $ var "' es '" 0 "'. – eyelidlessness

Respuesta

21

mysqli_error() que tiene que pasar la conexión a la base de datos como un parámetro. Documentación de aquí tiene algunos ejemplos útiles:

http://php.net/manual/en/mysqli.error.php

, intenta modificar su línea problema como tal y que debe estar en buena forma:

función
$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error($myConnection)); 
+0

1 para el enlace Manual: D – Talisin

+0

Hola, gracias por la respuesta, ahora se me está dando este problema - "mysqli_error() espera parámetro de 1 a ser mysqli" –

+0

A pesar de que hice lo que dijo que todavía me dio errores así que cambié todos los mysqli a mysql y funciona perfecto ahora! –

4

mysqli_error requiere $myConnection como parámetros, por eso se obtiene la advertencia

1

Al principio, el problema se debe a que no ha puesto ningún parámetro para mysqli_error. Veo que se ha resuelto según la publicación aquí. Lo más probable es que el siguiente problema sea causa de una ruta de archivo incorrecta para el archivo incluido ...

¿Seguro este código

$myConnection = mysqli_connect("$db_host","$db_username","$db_pass","$db_name") or die ("could not connect to mysql"); 

está en la carpeta 'scripts' y el archivo de código principal está en el mismo nivel que la carpeta guión?

Cuestiones relacionadas