Autor Tema: variable  (Leído 4840 veces)

Desconectado Txapu

  • PHPerit@
  • *
  • Mensajes: 27
  • Karma: 6
  • Sexo: Masculino
    • Ver Perfil
Re: variable
« Respuesta #45 en: 09 de Junio de 2007, 14:09:14 pm »
Como te paso la estructura? :S

Como ejecuto la sql en una sesion intereactiva? :S

No se hasta donde alcanzan tus conocimientos en este mundillo, porque aviso que lo que voy a explicar es muy basico. Si ya sabias todo lo que voy a poner a continuacion, espero que al menos serva para otros que no lo sepan :P

Lo primero de todo es arrancar una sesion interactiva de mysql, y se hace de diferente manera en windows que en linux:
   - En windows:
      Para abrir una sesion de mysql hay que situarse, mediante una ventana de comandos (cmd.exe), en el directorio donde esta instalado el mysql (creo que estaba en "c:\Archivos de Programa\MySQL\MySQL Server\bin") o bien añadirlo al path, y a continuacion ejecutar "mysql.exe -u [usuario] -p"

    - En linux:
      Como por defecto ya lo mete en el path, podemos ejecutar directamente "mysql -u [usuario] -p"

Pondré todos los ejemplos desde linux porque ahora no tengo ningun mysql en windows y quiero añadir ejemplos a la explicacion. El funcionamiento de mysql es igual en ambos sistemas operativos, a excepción de la manera de ejecutarse (que son practicamente iguales) y que linux es case-sensitive (distingue mayusculas de minusculas).

Bueno, vamos al lio: arrancamos una sesion de mysql como he dicho antes:
Ejemplo desde linux:
Código: [Seleccionar]
root@txapusv:~# mysql -u [usuario] -p
Enter password: [password]
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 49072
Server version: 5.0.38-Debian_1-log Debian etch distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
Una vez ya tienes el prompt "mysql>" ya tenemos una sesion interactiva de mysql, ahí podemos ejecutar cualquier orden sql. Aqui debes poner el ";" al final de cada sentencia. En php no hay que ponerlo.

Hay gente que piensa que mysql es una base de datos, pero eso no es exactamente así: mysql es un gestor de bases de datos. Eso significa que puede gestionar varias BDDs.
Podemos por ejemplo saber qué y cuantas bases de datos tenemos registradas con "show databases;".
Ejemplo:
Código: [Seleccionar]
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| Acuario            |
| mysql              |
| phpDaemon          |
+--------------------+

Para conectarnos a una bdd ejecutamos "use [Nombre_de_la_bdd];".
Ejemplo:
Código: [Seleccionar]
mysql> use phpDaemon;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql>

A partir de aquí, ya podemos ejecutar SELECTS, INSERTS, etc...
Nota importante: cada vez que ejecutemos un "DELETE", "INSERT" o "UPDATE" debe ir seguido de la instrucción "COMMIT", lo digo porque en php no se pone. En las SELECT no hace falta que añadas ese COMMIT;

Si tienes que probar una consulta, insert, update, etc que haga el php mediante lo que te devuelvan los "echos" que hemos comentado en posts anteriores, puedes pegarlos aqui y ver que resultado te dan, y si te da algun error, te dará mas detalles que php. Acuerdate de los ";" finales en cada sentencia y de añadir "COMMIT;" despues de ejecutar inserts, deletes o updates.

Bueno, vamos a seguir:

Vamos a ver como se listan las tablas que contiene una BDD:
Como ya estamos conectados a una BDD ("phpDaemon" en mi ejemplo, que es un proyectito en el que ando trabajando...), ejecutamos "show tables;"

Código: [Seleccionar]
mysql> show tables;
+---------------------+
| Tables_in_phpDaemon |
+---------------------+
| DaeApl              |
| DaeGrp              |
| DaePrc              |
| DaePrg              |
+---------------------+
4 rows in set (0.00 sec)

Vale, ahora queremos sacar los campos que componen una tabla: ejecutamos "describe [Tabla];"

Código: [Seleccionar]
mysql> describe DaePrc;
+-------------+-----------------------+------+-----+---------+-------+
| Field       | Type                  | Null | Key | Default | Extra |
+-------------+-----------------------+------+-----+---------+-------+
| IdDaePrc    | mediumint(9) unsigned | NO   | PRI |         |       |
| IdDaePrg    | smallint(6) unsigned  | NO   | UNI |         |       |
| Parametros  | varchar(255)          | YES  |     | NULL    |       |
| Nombre      | varchar(30)           | NO   |     |         |       |
| Prioridad   | tinyint(4) unsigned   | NO   |     | 255     |       |
| Fase        | tinyint(4) unsigned   | NO   |     |         |       |
| Estado      | tinyint(4) unsigned   | NO   |     |         |       |
| Fecha_Plan  | datetime              | NO   |     |         |       |
| Fecha_Ejec  | datetime              | YES  |     | NULL    |       |
| Fecha_Fin   | datetime              | YES  |     | NULL    |       |
| Repeticion  | mediumint(9)          | YES  |     | NULL    |       |
| Tipo_Rep    | tinyint(4) unsigned   | NO   |     | 0       |       |
| Descripcion | tinytext              | YES  |     | NULL    |       |
+-------------+-----------------------+------+-----+---------+-------+
13 rows in set (0.00 sec)

Esa es la estructura de una tabla, eso es lo que te pido que me envies pero para tu tabla "usuarios".

Para salir de mysql ejecuta "quit"

No liaré mas el asunto, pondré un resumen/procedimiento:
  - c:\ mysql -u [USUARIO] -p          <- Abrimos una sesion de mysql y a continuacion metemos el password
  - mysql> show databases;             <- Muestra un listado de las BDD registradas
  - mysql> use [BASE_DE_DATOS];    <- Entramos en una BDD
  - mysql> show tables;                   <- Muestra el listado de las tablas que hay en la BDD
  - mysql> describe [TABLA]             <- Muestra la estructura de una tabla

Espero que te sea de ayuda.

Saludos,
M

P.D. Soy muy mal maestro :( , por eso te pido que si no has entendido algo, me lo pidas y lo explicaré de otro modo.
« Última modificación: 09 de Junio de 2007, 14:18:55 pm por Txapu »

Comunidad PHPeros

Re: variable
« Respuesta #45 en: 09 de Junio de 2007, 14:09:14 pm »

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: variable
« Respuesta #46 en: 10 de Junio de 2007, 08:29:31 am »
Muchas gracias por la explicación ya lo entendi ;)

Bueno preferi pillar la estructura del phpmyadmin... (Si ubiera sabido que te referias a eso lo ubiera puesto antes XD)

Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado Txapu

  • PHPerit@
  • *
  • Mensajes: 27
  • Karma: 6
  • Sexo: Masculino
    • Ver Perfil
Re: variable
« Respuesta #47 en: 12 de Junio de 2007, 16:15:23 pm »
Muchas gracias por la explicación ya lo entendi ;)

Bueno preferi pillar la estructura del phpmyadmin... (Si ubiera sabido que te referias a eso lo ubiera puesto antes XD)



Hasta que no lo he probado, no me he dado cuenta:
El campo "MOD" es incorrecto, ya que es una palabra reservada. A mi me ha funcionado si cambio el nombre del campo (yo le he añadido un "_" final), y he cambiado el codigo tal y como se muestra a continuacion:


Código: [Seleccionar]
$conectar = mysql_connect( 'localhost', 'txapu', '*********') or die('Could not connect to server.' );
mysql_select_db('xxxxxxxxx', $conectar) or die('Could not select database.');
if($_POST['registrar']){

if($_POST['contra']==$_POST['contra2']){
$consulta = 'SELECT * FROM usuarios WHERE usuario="' . $_POST['usuario'] . '" or correo="' . $_POST['correo'] . '"';
echo $consulta;

$query = mysql_query($consulta);

if(mysql_num_rows($query)==0){

if(!$_POST['usuario']){
$error = "Usted no nos a proporcionado un nombre de usuario";
}

if(!$_POST['contra']){
$error = "Usted no nos a proporcionado una contrase&#241;a";
}

if(!$_POST['correo']){
$error = "Usted se no nos a proporcionado un mail";
}

$usuario = $_POST['usuario'];
$contra = md5($_POST['contra']);
$correo = $_POST['correo'];
$ip = $_SERVER['REMOTE_ADDR'];
$vipdia = date("j");
$vipmes = date("n");
$vipa = date("Y");

} else {
$error = "El nombre de usuario y/o el correo electronico ya a sido registrado";
}

} else {
$error = "Las contrase&#241;as que nos a proporcionado no coinciden";
}

}

if($error){
echo "A ocurrido un error: $error";
} else {
$sql = "INSERT INTO usuarios (usuario,contra,correo,creditos,mensajes,publicidad,VIP_dia,VIP_mes,VIP_a,DJ_COM,MOD_,REP,ADMIN,ip) VALUES ('".$usuario."','".$contra."','".$correo."','30','0','SI','".$vipdia."','".$vipmes."','".$vipa."','NO','NO','NO','NO','".$ip."')";
echo $sql;
mysql_query($sql);
}

Perdona por no podertelo mirar antes, pero es que ando algo liado ultimamente...

Saludos,
MA
« Última modificación: 12 de Junio de 2007, 19:23:54 pm por Txapu »

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: variable
« Respuesta #48 en: 13 de Junio de 2007, 11:10:56 am »
uuuooohh voy a provar :P

EDITO: Muchisimas gracias tio!! ya me funciona... ya puedo tirar adelante con la web despues de quedarme trabado :D

Saludos


PD: Karma + (esta claro ;))
« Última modificación: 13 de Junio de 2007, 11:17:50 am por G2K »
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado Dj-Celta

  • PHPero Avanzado
  • ****
  • Mensajes: 398
  • Karma: 16
  • <?php Solo quiero aprender ?>
    • Ver Perfil
Re: variable
« Respuesta #49 en: 20 de Junio de 2007, 12:33:08 pm »
e netrado en www.cristiantorrijos.com/registro.php y me da este fallo:
Parse error: parse error, unexpected '{' in /var/www/vhosts/cristiantorrijos.com/httpdocs/registro.php on line 13
no estaba rreglado?

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: variable
« Respuesta #50 en: 20 de Junio de 2007, 12:51:35 pm »
e netrado en www.cristiantorrijos.com/registro.php y me da este fallo:
Parse error: parse error, unexpected '{' in /var/www/vhosts/cristiantorrijos.com/httpdocs/registro.php on line 13
no estaba rreglado?
Si lo esta :P pero no ese archivo jajaja

La url no la dare asta que no este acabada :P
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011