Algo me falla en la inserción en BBDD

Iniciado por NikNitro!, 15 Mayo 2014, 13:07 PM

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

NikNitro!

Buenas gente. Llevo ya como dos horas dandole vueltas y probando un code y nada.

El code es el siguiente:

Código (php) [Seleccionar]

<?php
class Usuarios{

public $id_user 0;

function conectar() {
$server "mysql.host.es";
$usuario         = "user";
$pass         = "password";
$BD "database";

//$conexion = mysql_connect($server, $usuario, $pass, $BD);
$conexion mysql_connect($server$usuario$pass);
mysql_select_db($BD$conexion);


if($conexion) {
echo 'La conexion a la base de datos ha sido un exito<br>';
} else {
echo 'Ha sucedido un error inesperado en la conexion<br>';
}

return $conexion;

}


function desconectar($conexion) {
$close mysqli_close($conexion);

if($close) {
echo 'La desconexion a la base de datos ha sido un exito<br>';
} else {
echo 'Ha sucedido un error inesperado en la desconexion<br>';
}

return $close;
}

//Funcion que devuelve un array multidimensional con el resultado de la consulta
function getArraySQL($sql) {
$conexion $this->conectarBD();
//generamos la consulta
if(!$result mysqli_query($conexion$sql)) die();

$rawdata = array();

//guardamos en un array multidimensional todos los valores de la consulta
$i 0;
while ($row mysqli_fetch_array($result)) {
$rawdata[$i] = $row;
$i++;
}

$this->desconectarBD($conexion);
return $rawdata;
}

function createUser($nick$ip) {
$conexion $this->conectar();

$sql "Insert Into Usuario Values ('".$nick."', ".$ip.")";
$consulta mysqli_query($conexion$sql);

if(!$consulta){ 
               echo 
"No se ha podido insertar el usuario en la base de datos<br>".mysqli_error($conexion);
            } 
$this->desconectarBD($conexion);
return $consulta;
}
}

//Vamos a crear un objeto para probar
echo 'Conectando<br>';
$userObject = new Usuarios();
echo 
'ObjetoCreado<br>';
$userObject->createUser('Nitro'19216811);
echo 
'fin';
?>



Lo mas coñazo es que para ver si está bien tengo que estar subiéndolo y abriéndolo desde el servidor U.u'

Este es el link donde está subido: http://practicandoconphp.hol.es/PHPparaJava.php

Ya he probado poniendole la ip en $userObject->createUser('Nitro', 19216811); con y sin comillas, cambiando de orden $conexion y $sql en $consulta... Nada. Me falla en $sql y $consulta.

El nombre de la tabla en la bbdd se llama Usuario y sus columnas son Nick (varchar(10)) y IP (bigint(12)).

Qué me falla?

Gracias ;)

Gh057

#1
hola NikNitro!, el servidor lo tienes con xampp/lampp? o es una instalación de apache? haz configurado previamente el acceso a mysql?  

no querrás insertar en realidad un usuario en una tabla incluída la base de datos de tu aplicación?

mirando el método... insert into y value no están en mayúsculas...  

(agrego) te dejo un enlace a la documentación donde se referencia la sensibilidad a mayúsculas en las palabras reservadas

-> http://dev.mysql.com/doc/refman/5.0/es/

el punto se aborda en el capítulo 9. en el 13 tienes lo referido a  sintaxis.

un cordial saludo!
4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...

Mokonauta

[code]En la linea #62 tienes que agregar los campos de la tabla donde insertaras los campos

[code]
$sql = "Insert Into Usuario Values ('".$nick."', ".$ip.")"; // MAL
$sql = "Insert Into Usuario (NICKNAME, IP) Values ('".$nick."', ".$ip.")"; // BIEN


A menos de que "nickname" e "ip" sean los unicos campos en la tabla, que lo dudo mucho, esto podría funcionar.

Otra caso,

POO sirve justo para poner cada cosa en su lugar, en tu lugar haria una clase que maneje todas las conexiones a la base de datos y otra clase que manejara lo relacionado con el usuario.

No tiene caso hacer código en POO si las clases que escribes son de modo estructurado.

Saludos.[/code][/code]
El destino decide hasta que es desafiado por los condenados.