miércoles, 18 de diciembre de 2013

PHP MySQL Select




La instrucción SELECT se utiliza para seleccionar los datos de una base de datos.
Seleccionar datos de una tabla de base de datos
La instrucción SELECT se utiliza para seleccionar los datos de una base de datos.
Sintaxis
SELECT    column_name(s)
FROM table_name
Para obtener más información acerca de SQL, visite nuestro tutorial de SQL .
Para llegar a PHP que ejecute la sentencia anterior, debemos utilizar la función () mysqli_query. Esta función se utiliza para enviar una consulta o un comando para una conexión MySQL.
Ejemplo
El siguiente ejemplo selecciona todos los datos almacenados en la tabla "Personas" (El carácter * selecciona todos los datos de la tabla):
<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
//   Check connection
if   (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$result = mysqli_query($con,"SELECT * FROM Persons");

while($row=     mysqli_fetch_array($result))
  {
echo $row['FirstName'] . " " . $row['LastName'];
  echo "<br>";
  }

mysqli_close($con);
?>

PHP MySQL Insert Into

La instrucción INSERT INTO se utiliza para insertar nuevos registros en una tabla.
Insertar datos en una tabla de base de datos
La instrucción INSERT INTO se utiliza para agregar nuevos registros a una tabla de base de datos.
Sintaxis
Es posible escribir la instrucción INSERT INTO en dos formas.
La primera forma no especifica los nombres de las columnas en las que se insertan los datos, sólo sus valores:
INSERT    INTO table_name
VALUES (value1, value2, value3,...)
La segunda forma especifica tanto los nombres de columna y los valores que se van a insertar:
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
Para obtener más información acerca de SQL, visite nuestro tutorial de SQL .
Para lograr que PHP ejecuta las sentencias anteriormente, debemos utilizar la función () mysqli_query. Esta función se utiliza para enviar una consulta o un comando para una conexión MySQL.
Ejemplo
En el capítulo anterior hemos creado una tabla llamada "Personas", con tres columnas: "Nombre", "Apellido" y "Edad". Vamos a utilizar la misma tabla en este ejemplo. El ejemplo siguiente añade dos nuevos registros a la tabla "Personas":
<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
//Check   connection
if(mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

mysqli_query($con,"INSERT INTO Persons (FirstName, LastName, Age)
VALUES    ('Peter', 'Griffin',35)");

mysqli_query($con,"INSERT INTO Persons (FirstName, LastName, Age)
VALUES    ('Glenn', 'Quagmire',33)");

mysqli_close($con);
?>

PHP MySQL UPDATE

La instrucción UPDATE se utiliza para modificar datos en una tabla.
Actualizar datos en una base de datos
La instrucción UPDATE se utiliza para actualizar los registros existentes en una tabla.
Sintaxis
UPDATE    table_name
SET  column1=value,  column2=value2,...
WHERE some_column=some_value

Nota: Tenga en cuenta la cláusula WHERE de la sintaxis UPDATE. La cláusula WHERE especifica qué registro o registros que deben actualizarse. Si se omite la cláusula WHERE, todos los registros se actualizarán!
Para obtener más información acerca de SQL, visite nuestro tutorial de SQL .
Para llegar a PHP que ejecute la sentencia anterior, debemos utilizar la función () mysqli_query. Esta función se utiliza para enviar una consulta o un comando para una conexión MySQL.

Ejemplo
Anteriormente en el tutorial que hemos creado una tabla llamada "Personas". Aquí es como se ve:

FirstName
LastName
Age
Peter
Griffin
35
Glenn
Quagmire
33

El ejemplo siguiente actualiza algunos datos en la tabla "Personas":

<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
//Check   connection
if(mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

mysqli_query($con,"UPDATE Persons SET Age=36
WHERE FirstName='Peter'    AND  LastName='Griffin'");

mysqli_close($con);
?>

Después de la actualización, la tabla "Personas" se verá así:

FirstName
LastName
Age
Peter
Griffin
36
Glenn
Quagmire
33


PHP MySQL Delete
La sentencia DELETE se utiliza para eliminar registros de una tabla.
Borrar los datos de una base de datos
La instrucción DELETE FROM se utiliza para eliminar registros de una tabla de base de datos.
Sintaxis
DELETE FROM table_name
WHERE some_column = some_value
Nota: Tenga en cuenta la cláusula WHERE de la sintaxis DELETE. La cláusula WHERE especifica qué registro o registros que se deben eliminar. Si se omite la cláusula WHERE, se borrarán todos los registros!
Para obtener más información acerca de SQL, visite nuestro tutorial de SQL .
Para llegar a PHP que ejecute la sentencia anterior, debemos utilizar la función () mysqli_query. Esta función se utiliza para enviar una consulta o un comando para una conexión MySQL.

Ejemplo
Mira la siguiente tabla "personas":

FirstName
LastName
Age
Peter
Griffin
35
Glenn
Quagmire
33

El ejemplo siguiente elimina todos los registros de la tabla "Personas", donde LastName = 'Griffin':

<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
//Check   connection
if   (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

mysqli_query($con,"DELETE FROM Persons   WHERE LastName='Griffin'");

mysqli_close($con);
?>

Después de la eliminación, la tabla se verá así:

FirstName
LastName
Age
Glenn
Quagmire
33

www.w3schools.com/php/php_mysql_delete.asp

domingo, 15 de diciembre de 2013

MYSQL



PARA QUE SIRVE MYSQL

¿Sabes lo que es una base de datos? Básicamente es un medio para almacenar datos, organizados en tablas.
 Por ejemplo, una tabla de personas, donde va su nombre, dirección, edad, etc; otra tabla de empresas, con su nombre, RFC, dirección, teléfono... y así.
MySQL es un sistema para llevar bases de datos. Es un servicio que crea las bases de datos y permite administrar la información que guardamos en ellas.
Se basa en el sistema SQL, en el cual se basan muchos otros. Existe Microsoft SQL Server, Oracle, Postgres, SQLite, y muchos más, todos muy similares, ya que son derivados de uno mismo. MySQL es de los más populares (o el más popular, posiblemente).
MySQL a resumidas cuentas es un servidor de Base de datos relacional, sirve para almacenar y administrar datos en bases de datos relacionales utilizando de entre los diferentes artilujios con los que cuenta con tablas, vistas, procedimientos almacenados, funciones, etc.

mysql_select_db
mysql_select_db — Seleccionar una base de datos MySQL
mysqli::select_db -- mysqli_select_dbSelecciona la base de datos por defecto para realizar las consultas.

Descripción:

Estilo orientado a objetos
bool mysqli::select_db ( string $dbname )
Estilo por procedimientos
bool mysqli_select_db ( mysqli $link , string $dbname )
Selecciona la base de datos por defecto que se utilizará para realizar las consultas, en la conexión activa.
Nota:
Esta función debería ser usada solo para cambiar la base de datos por defecto para la conexión. Se puede seleccionar la base de datos por defecto en el cuarto parámetro de la función mysqli_connect().

Parámetros:


link
Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()
dbname
El nombre de la base de datos.

Valores devueltos:

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos:

Ejemplo #1 Ejemplo de mysqli::select_db()
Estilo orientado a objetos
<?php
$mysqli 
= new mysqli("localhost""my_user""my_password""test");

/* comprueba la conexión */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

/* devuelve el nombre de la base de datos actualmente seleccionada */
if ($result $mysqli->query("SELECT DATABASE()")) {
    
$row $result->fetch_row();
    
printf("Default database is %s.\n"$row[0]);
    
$result->close();
}

/* cambia de test bd a world bd */
$mysqli->select_db("world");

/* devuelve el nombre de la base de datos actualmente seleccionadae */
if ($result $mysqli->query("SELECT DATABASE()")) {
    
$row $result->fetch_row();
    
printf("Default database is %s.\n"$row[0]);
    
$result->close();
}

$mysqli->close();
?>
Estilo por procedimientos
<?php
$link 
mysqli_connect("localhost""my_user""my_password""test");

/* comprueba la conexión */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

/* devuelve el nombre de la base de datos actualmente seleccionada */
if ($result mysqli_query($link"SELECT DATABASE()")) {
    
$row mysqli_fetch_row($result);
    
printf("Default database is %s.\n"$row[0]);
    
mysqli_free_result($result);
}

/* cambia de test bd a world bd */
mysqli_select_db($link"world");

/* devuelve el nombre de la base de datos actualmente seleccionada */
if ($result mysqli_query($link"SELECT DATABASE()")) {
    
$row mysqli_fetch_row($result);
    
printf("Default database is %s.\n"$row[0]);
    
mysqli_free_result($result);
}

mysqli_close($link);
?>
El resultado de los ejemplos serían:
Default database is test.
Default database is world.
 

Ver también

mysqli_query

 mysqli::query -- mysqli_queryRealiza una consulta a la Base de Datos

Descripción:

Estilo orientado a objetos
mixed mysqli::query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
Estilo por procedimientos
mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
Realiza una consulta o busqueda(query) en la base de datos.
Para consultas que no sean DML (distintas de INSERT, UPDATE o DELETE), esta funcion es similar a invocar a mysqli_real_query() seguida de mysqli_use_result() o mysqli_store_result().
Nota:
En el caso de pasarle una sentencia a mysqli_query() que sea mayor que max_allowed_packet del servidor, los códigos de error retornados difieren dependiendo de si se está usando el Controlador Nativo de MySQL(mysqlnd) o la Biblioteca Cliente de MySQL (libmysqlclient). El comportamiento es el siguiente:
·         mysqlnd en Linux retorna un codigo de error 1153. lo que significa "tiene un paquete mayor que max_allowed_packet bytes".
·         mysqlnd en Windows retorna un codigo de error 2006. Este codigo de error significa"que el servidor salio de linea".
·         libmysqlclient en toda las plataformas retorna el código de error 2006. Este mensaje de error significa que "el servidor se ha salido".

Parámetros:

link
Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()
query
La cadena de la consulta a la base de dato.
La data dentro de la consulta a la BD debe ser escapada apropiadamente.
resultmode
Ya sea la constante MYSQLI_USE_RESULT o MYSQLI_STORE_RESULT dependiendo del resultado deseado. Por defecto se usa la constante MYSQLI_STORE_RESULT.
Si se usaMYSQLI_USE_RESULT todas la llamadas poesteriore retornaran con un error will return error Commands out of sync al menos que llamae la funcion call mysqli_free_result()
Con MYSQLI_ASYNC (disponible conh mysqlnd), es posible hacer consulta de manera asincrona. mysqli_poll() se utiliza para obtener los resultados dicha consulta

Valores devueltos:

Retorna FALSE si hay fallas. Si una consulta del tipo SELECT, SHOW, DESCRIBE o EXPLAIN es exitosa la funcion mysqli_query() retornara El objeto de la clase mysqli_result. Para otras consultas mysqli_query() retornara TRUE si tiene exito.

Historial de cambios:

Versión
Descripción
5.3.0
Se agrego la posibilidad de consultas asincronas.

Ejemplos:

Ejemplo #1 Ejemplo de mysqli::query()
Estilo orientado a objetos
<?php
$mysqli 
= new mysqli("localhost""my_user""my_password""world");

/* check connection */
if ($mysqli->connect_errno) {
    
printf("Connect failed: %s\n"$mysqli->connect_error);
    exit();
}

/* Create table doesn't return a resultset */
if ($mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    
printf("Table myCity successfully created.\n");
}

/* Select queries return a resultset */
if ($result $mysqli->query("SELECT Name FROM City LIMIT 10")) {
    
printf("Select returned %d rows.\n"$result->num_rows);

    
/* free result set */
    
$result->close();
}

/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result $mysqli->query("SELECT * FROM City"MYSQLI_USE_RESULT)) {

    
/* Note, that we can't execute any functions which interact with the
       server until result set was closed. All calls will return an
       'out of sync' error */
    
if (!$mysqli->query("SET @a:='this will not work'")) {
        
printf("Error: %s\n"$mysqli->error);
    }
    
$result->close();
}

$mysqli->close();
?>
Estilo por procedimientos
<?php
$link 
mysqli_connect("localhost""my_user""my_password""world");

/* check connection */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

/* Create table doesn't return a resultset */
if (mysqli_query($link"CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    
printf("Table myCity successfully created.\n");
}

/* Select queries return a resultset */
if ($result mysqli_query($link"SELECT Name FROM City LIMIT 10")) {
    
printf("Select returned %d rows.\n"mysqli_num_rows($result));

    
/* free result set */
    
mysqli_free_result($result);
}

/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result mysqli_query($link"SELECT * FROM City"MYSQLI_USE_RESULT)) {

    
/* Note, that we can't execute any functions which interact with the
       server until result set was closed. All calls will return an
       'out of sync' error */
    
if (!mysqli_query($link"SET @a:='this will not work'")) {
        
printf("Error: %s\n"mysqli_error($link));
    }
    
mysqli_free_result($result);
}

mysqli_close($link);
?>
El resultado de los ejemplos serían:
Table myCity successfully created.
Select returned 10 rows.
Error: Commands out of sync;  You can't run this command now

Ver también:

mysqli_close

mysqli::close -- mysqli_closeCierra una conexión a base de datos previamente abierta

Descripción:

Estilo orientado a objetos
bool mysqli::close ( void )
Estilo por procedimientos
bool mysqli_close ( mysqli $link )
Cierra una conexión a base de datos abierta previamente.

Parámetros:

Link
Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos:

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos:

Ver también:

$ result, print

<?php
$db = mysqli_connect("localhost", "root", "");
if (!$db) {
    print "<p>Imposible conectarse con la base de datos.</p>\n";
    exit();
}
?>
Si no se puede establecer la conexión con la base de datos, puede deberse a que la base de datos no esté funcionando, a que los datos de usuario no sean correctos o a que no esté activada la extensión mysqli (véase la lección sobre configuración de php).

print
printMostrar una cadena

Descripción:

int print ( string $arg )

Muestra el parámetro arg.
print no es realmente una función (es un constructor de lenguaje) por lo tanto no es necesario usar paréntesis para indicar su lista de argumentos.

Parámetros:

arg
Los datos de entrada.

Valores devueltos:

Siempre devuelve 1.

Ejemplos:

Ejemplo #1 Ejemplos de print
<?php
print("Hola mundo");

print 
"print() también funciona sin paréntesis.";

print 
"Esto separa
múltiples líneas. Los saltos de línea también
se mostrarán"
;

print 
"Esto separa\nmúltiples líneas. Los salos de línea también\nse mostrarán.";

print 
"para escapar caracteres se \"hace así\".";

// También se puede usar variables usando print
$foo "foobar";
$bar "barbaz";

print 
"foo es $foo"// foo es foobar

// También se pueden usar arrays
$bar = array("value" => "foo");

print 
"Esto es {$bar['value']} !"// Esto es foo !

// Al usar comillas simples se mostrará el nombre de la variable, no su valor
print 'foo is $foo'// foo is $foo

// Si no se necesita mostrar otros caracteres, se puede simplemente mostrar variables
print $foo;          // foobar

print <<<END
Este párrafo utiliza la sintaxis "here document" para mostrar
múltiples líneas con la interpolación de 
$variable. Nótese
que el terminador de here document debe aparecer al final
de la línea con punto y coma y ¡ningún espacio en blanco extra!
END;
?>
Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamada usando funciones variables.

Ver también:



http://answers.yahoo.com/question/index?qid=20120327150127AA5oUlM
http://www.php.net/manual/es/mysqli.query.php
http://www.php.net/print