Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: Zhuikov en 19 Marzo 2013, 18:53 PM

Título: ya no se que ocurre
Publicado por: Zhuikov en 19 Marzo 2013, 18:53 PM
No ingresan los datos en MYSQL y he revisado el codigo por todos lados, les dejo el codigo

$conexion = mysql_connect("localhost","root","usbw");
mysql_select_db("hd",$conexion);
$sql = "INSERT INTO admin(pass,usuario) VALUES ('daaass','daaa')";
mysql_query($sql,$conexion);

ayudaaaaaaaaaaa  :(
Título: Re: ya no se que ocurre
Publicado por: GreenJack en 19 Marzo 2013, 19:26 PM
Antes que nada pedirte por favor que la proxima vez escribas esto de forma un poco más ordenada. Te recomiendo que cuando programes siempre intentes encapsular todo un poco más para ver los errores con más facilidad.

Ahora vamos a lo que nos acata. No soy ningún experto en php pero intentare ayudarte. Parece que te conectas bien pero mezclas un poco los comandos.

Cita de: Zhuikov en 19 Marzo 2013, 18:53 PM
$conexion = mysql_connect("localhost","root","usbw");
mysql_select_db("hd",$conexion);
$sql = "INSERT INTO admin(pass,usuario) VALUES ('daaass','daaa')";
mysql_query($sql,$conexion);

-cuando seleccionas una base de datos no tienes que seleccionar la "conexión". Si los datos introducidos son correctos se conectara automaticamente.
-(Asumo que la query es correcta)
-cuando quieres ejecutar una query en la base de datos desde php, solo es necesario indicar la query en sí (lo que tu llamas $sql) y no la $conexión de nuevo.

prueba con el nuevo codigo:
Cita de: Zhuikov en 19 Marzo 2013, 18:53 PM
$conexion = mysql_connect("localhost","root","usbw");
mysql_select_db("hd");
$sql = "INSERT INTO admin(pass,usuario) VALUES ('daaass','daaa')";
mysql_query($sql);
Título: Re: ya no se que ocurre
Publicado por: Zhuikov en 19 Marzo 2013, 19:33 PM
Cita de: GreenJack en 19 Marzo 2013, 19:26 PM
Antes que nada pedirte por favor que la proxima vez escribas esto de forma un poco más ordenada. Te recomiendo que cuando programes siempre intentes encapsular todo un poco más para ver los errores con más facilidad.

Ahora vamos a lo que nos acata. No soy ningún experto en php pero intentare ayudarte. Parece que te conectas bien pero mezclas un poco los comandos.

-cuando seleccionas una base de datos no tienes que seleccionar la "conexión". Si los datos introducidos son correctos se conectara automaticamente.
-(Asumo que la query es correcta)
-cuando quieres ejecutar una query en la base de datos desde php, solo es necesario indicar la query en sí (lo que tu llamas $sql) y no la $conexión de nuevo.

prueba con el nuevo codigo:

no,estoy comenzando a pensar que este tipo de server es malo :/

Título: Re: ya no se que ocurre
Publicado por: GreenJack en 19 Marzo 2013, 19:39 PM
Tu "server" está montado en tu lan por ti o te intentas conectar a uno de internet?
Título: Re: ya no se que ocurre
Publicado por: Zhuikov en 19 Marzo 2013, 19:41 PM
Cita de: GreenJack en 19 Marzo 2013, 19:39 PM
Tu "server" está montado en tu lan por ti o te intentas conectar a uno de internet?

no, es un server de pc (USBWebserver) he estado leyendo que tiene problemas con mysql ¿es cierto?
Título: Re: ya no se que ocurre
Publicado por: GreenJack en 19 Marzo 2013, 19:44 PM
No conozco dicho servidor. Te recomiendo que te montes un ZendServer. Te trae todo juntito para que lo puedas usar (servidor apache, bd, etc.)
Título: Re: ya no se que ocurre
Publicado por: Zhuikov en 19 Marzo 2013, 19:46 PM
Cita de: GreenJack en 19 Marzo 2013, 19:44 PM
No conozco dicho servidor. Te recomiendo que te montes un ZendServer. Te trae todo juntito para que lo puedas usar (servidor apache, bd, etc.)

Descargare el ZendServer, gracias por el dato y cualquier noticia la hare de conocimiento
Título: Re: ya no se que ocurre
Publicado por: #!drvy en 19 Marzo 2013, 19:47 PM
Citar-cuando seleccionas una base de datos no tienes que seleccionar la "conexión". Si los datos introducidos son correctos se conectara automaticamente.

En realidad es buena practica HACERLO. Imagínate que tienes varias conexiones abiertas. Si no lo indicas, tomara la ultima, lo que igual te puede joder el script entero.

http://php.net/manual/es/function.mysql-select-db.php

Citarcuando quieres ejecutar una query en la base de datos desde php, solo es necesario indicar la query en sí (lo que tu llamas $sql) y no la $conexión de nuevo.

Pasa igual que lo que he mencionado antes. No es necesario, pero es buena practica hacerlo.



@Zhuikov, podrias ejecutar esto ? Es el mismo codigo que dejas pero con los errores habilitados. Igual tienes algun error en alguna parte fuera del php.

Código (php) [Seleccionar]
<?php
error_reporting
(E_ALL);

$conexion mysql_connect("localhost","root","usbw");
if(!
$conexion){die('Problema con conx a la base de datos. Verifica host, usuario y contraseña.');}

mysql_select_db("hd",$conexion) or die(mysql_error());

$sql "INSERT INTO admin(pass,usuario) VALUES ('daaass','daaa')";
$result mysql_query($sql,$conexion) or die(mysql_error());

if(!
$result){die('Un problema muy extraño o.O');} else {die('Se ha ejecutado bien');}

?>


Y, considera usar MYSQLI (http://php.net/manual/es/book.mysqli.php) en vez de mysql. mysql ESTA OBSOLETO y sera eliminada de futuras versiones.

Saludos
Título: Re: ya no se que ocurre
Publicado por: Zhuikov en 19 Marzo 2013, 19:57 PM
Cita de: drvy | BSM en 19 Marzo 2013, 19:47 PM
En realidad es buena practica HACERLO. Imagínate que tienes varias conexiones abiertas. Si no lo indicas, tomara la ultima, lo que igual te puede joder el script entero.

http://php.net/manual/es/function.mysql-select-db.php

Pasa igual que lo que he mencionado antes. No es necesario, pero es buena practica hacerlo.



@Zhuikov, podrias ejecutar esto ? Es el mismo codigo que dejas pero con los errores habilitados. Igual tienes algun error en alguna parte fuera del php.

Código (php) [Seleccionar]
<?php
error_reporting
(E_ALL);

$conexion mysql_connect("localhost","root","usbw");
if(!
$conexion){die('Problema con conx a la base de datos. Verifica host, usuario y contraseña.');}

mysql_select_db("hd",$conexion) or die(mysql_error());

$sql "INSERT INTO admin(pass,usuario) VALUES ('daaass','daaa')";
$result mysql_query($sql,$conexion) or die(mysql_error());

if(!
$result){die('Un problema muy extraño o.O');} else {die('Se ha ejecutado bien');}

?>


Y, considera usar MYSQLI (http://php.net/manual/es/book.mysqli.php) en vez de mysql. mysql ESTA OBSOLETO y sera eliminada de futuras versiones.

Saludos


Unknown table engine 'InnoDB'

me arroja ese mensaje
Título: Re: ya no se que ocurre
Publicado por: #!drvy en 19 Marzo 2013, 20:13 PM
Vale, problema de MySql.

Por casualidad, estas corriendo la ultima versión del USBWebserver ? O has modificado algo ? Es que no es normal que no reconozca InnoDB. Te recomiendo una reinstalacion completa del USBW y si quieres puedes usar otros como EasyPHP, XAMPP, WAMP,o ZendServer.

PD: Podrías intentar borrando los archivos que empiezan por ib_ en la carpeta /mysql/data del USBW y mirar si tienes en el settings/my.ini

Código (apache) [Seleccionar]
innodb_buffer_pool_size = 16M

Saludos
Título: Re: ya no se que ocurre
Publicado por: Zhuikov en 19 Marzo 2013, 21:32 PM
Cita de: drvy | BSM en 19 Marzo 2013, 20:13 PM
Vale, problema de MySql.

Por casualidad, estas corriendo la ultima versión del USBWebserver ? O has modificado algo ? Es que no es normal que no reconozca InnoDB. Te recomiendo una reinstalacion completa del USBW y si quieres puedes usar otros como EasyPHP, XAMPP, WAMP,o ZendServer.

PD: Podrías intentar borrando los archivos que empiezan por ib_ en la carpeta /mysql/data del USBW y mirar si tienes en el settings/my.ini

Código (apache) [Seleccionar]
innodb_buffer_pool_size = 16M

Saludos


Hasta que lo logre...borrando todos los servidores, limpiando con CCleaner,bajar otro wamp, cambiando puertos...finalmente funcione, ustedes son los mejores!!!

Una ultima pregunta error_reporting(E_ALL) es una especie de Catch-Try?
Título: Re: ya no se que ocurre
Publicado por: #!drvy en 19 Marzo 2013, 21:54 PM
CitarUna ultima pregunta error_reporting(E_ALL) es una especie de Catch-Try?

No exactamente. Simplemente le dice a PHP que si ocurre algún error que lo muestre y que no se lo guarde para el xD. Es que muchos WAMPs vienen con el display_errors = off y error_reporting(0) por defecto.. entonces si ocurre algún error ni te enteras =)


Saludos