2011-03-01 14 views
9

¿Hay alguna forma de almacenar el resultado de mysql en la variable php? graciasresultado de la consulta mysql en php variable

$query = "SELECT username,userid FROM user WHERE username = 'admin' "; 
$result=$conn->query($query); 

luego quiero imprimir el ID de usuario seleccionado de la consulta.

+5

No sabemos lo envoltorio de base de datos que está utilizando, pero lo que uno es, su manual está garantizado para tener un ejemplo para esto mismo, cosa muy básica. No está destinado a ser grosero, pero tomar ese camino es realmente preferible aquí. Votando para cerrar. –

+0

Estoy usando MySql. –

Respuesta

46

Por supuesto que sí. Consulte mysql_query y mysql_fetch_row si utiliza MySQL.
Ejemplo de PHP manual:

<?php 
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'"); 
if (!$result) { 
    echo 'Could not run query: ' . mysql_error(); 
    exit; 
} 
$row = mysql_fetch_row($result); 

echo $row[0]; // 42 
echo $row[1]; // the email value 
?> 
+0

¿Por qué se bajó este voto? –

+2

@serialdownvoter Si algo no es correcto, explique por qué, tanto para mejorar nuestro conocimiento como para poder ayudarlo mejor. –

+0

@hellodownvoter ¿quién es usted? –

2
$query="SELECT * FROM contacts"; 
$result=mysql_query($query); 
+1

Lo mismo aquí, si baja la votación, explique por qué. – mailo

+0

Creo que malinterpretaste la pregunta: no_freedom quería una forma de almacenar el valor de la consulta sin tener que ejecutar realmente la consulta. –

5

Hay un par de funciones de MySQL necesita para estudiar.

  • mysql_query ("cadena de consulta aquí"): devuelve un recurso
  • mysql_fetch_array (recurso obtenido anteriormente): recibe un registro y la devuelve como una matriz con numérica y asociativa (con nombre de columna como clave) índices. Normalmente, debe repetir los resultados hasta que la expresión evalúe el valor false. Al igual que el siguiente:

    while ($row = mysql_fetch_array($query)){ 
        print_r $row; 
    }

    consulte el manual, los enlaces a los que se proporcionan a continuación, tienen más opciones para especificar el formato en el que se solicita la matriz. Al igual, podría usar mysql_fetch_assoc(..) para obtener la fila en una matriz asociativa.

Enlaces:

En su caso,

$query = "SELECT username,userid FROM user WHERE username = 'admin' "; 
$result=mysql_query($query); 
if (!$result){ 
    die("BAD!"); 
} 
if (mysql_num_rows($result)==1){ 
    $row = mysql_fetch_array($result); 
    echo "user Id: " . $row['userid']; 
} 
else{ 
    echo "not found!"; 
} 
-1

Yo personalmente uso declaraciones preparadas.

¿Por qué es importante?

Bueno, es importante debido a la seguridad. Es muy fácil hacer una inyección SQL en alguien que usa variables en la consulta.

En lugar de utilizar este código:

$query = "SELECT username,userid FROM user WHERE username = 'admin' "; 
$result=$conn->query($query); 

para utilizar este

$stmt = $this->db->query("SELECT * FROM users WHERE username = ? AND password = ?"); 
$stmt->bind_param("ss", $username, $password); //You need the variables to do something as well. 
$stmt->execute(); 

Más información sobre las declaraciones preparadas en:

http://php.net/manual/en/mysqli.quickstart.prepared-statements.php MySQLI

http://php.net/manual/en/pdo.prepared-statements.php DOP

-1
$query = "SELECT username, userid FROM user WHERE username = 'admin' "; 
$result = $conn->query($query); 

if (!$result) { 
    echo 'Could not run query: ' . mysql_error(); 
    exit; 
} 

$arrayResult = mysql_fetch_array($result); 

//Now you can access $arrayResult like this 

$arrayResult['userid']; // output will be userid which will be in database 
$arrayResult['username']; // output will be admin 

//Note- userid and username will be column name of user table. 
Cuestiones relacionadas