ya no se que ocurre

Iniciado por Zhuikov, 19 Marzo 2013, 18:53 PM

0 Miembros y 1 Visitante están viendo este tema.

Zhuikov

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  :(

GreenJack

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);

Zhuikov

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 :/


GreenJack

Tu "server" está montado en tu lan por ti o te intentas conectar a uno de internet?

Zhuikov

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?

GreenJack

No conozco dicho servidor. Te recomiendo que te montes un ZendServer. Te trae todo juntito para que lo puedas usar (servidor apache, bd, etc.)

Zhuikov

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

#!drvy

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 en vez de mysql. mysql ESTA OBSOLETO y sera eliminada de futuras versiones.

Saludos

Zhuikov

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 en vez de mysql. mysql ESTA OBSOLETO y sera eliminada de futuras versiones.

Saludos


Unknown table engine 'InnoDB'

me arroja ese mensaje

#!drvy

#9
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