Foros del Web » Programando para Internet » PHP »

no consigo conectar con DB

Estas en el tema de no consigo conectar con DB en el foro de PHP en Foros del Web. Buenas, soy nueva en el foro y bastante nueva en esto del PHP. He creado una base de datos para recoger los datos a través ...
  #1 (permalink)  
Antiguo 10/08/2009, 11:58
 
Fecha de Ingreso: agosto-2009
Mensajes: 16
Antigüedad: 14 años, 8 meses
Puntos: 0
no consigo conectar con DB

Buenas,
soy nueva en el foro y bastante nueva en esto del PHP. He creado una base de datos para recoger los datos a través de un formulario HTML pero la página de conexión, a pesar de no dar error, parece que no funciona porque los datos no quedan registrados. Espero que podais ayudarme ya que creo que el código está bien y ya no se que hacer. Os lo pego a continuación:

<?php
function Conectarse()
{
if (!($link=mysql_connect("db197.1and1.es","usuario", "contraseña")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("nombreDB",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
?>

El usuario y la contraseña se crearon por defecto al crear la DB y en el panel de PHPmyadmin no encuentro ninguna opción para crear nuevos usuarios ni para mirar o editar los privilegios de éste. Creeis que ese puede ser el problema?
Gracias de antemano ;)
  #2 (permalink)  
Antiguo 10/08/2009, 12:12
Avatar de Ronin46  
Fecha de Ingreso: junio-2009
Mensajes: 398
Antigüedad: 14 años, 10 meses
Puntos: 8
Respuesta: no consigo conectar con DB

¿Algún error en especial? ¿Seguro que es en la conexión a la base de datos?
__________________
http://www.controldegastos.com, acepto sugerencias para el sitio.
Repetir conmingo: "tengo que dedicar más tiempo a gozar de placer"
  #3 (permalink)  
Antiguo 10/08/2009, 12:31
 
Fecha de Ingreso: agosto-2009
Mensajes: 16
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: no consigo conectar con DB

Hola Ronin,

gracias por tu rápida respuesta. No, no me da ningun error, de hecho me lleva bien a la página que le tengo indicada. Te pego el código del PHP donde recojo los datos del formulario a ver si ves algo raro aqui:

<?php
include("conex.php");
$link=Conectarse();
$nombre=$_GET['nombre'];
$apellidos=$_GET['apellidos'];
$nombre_em=$_GET['nombre_em'];
$sector=$_GET['sector'];
$postal=$_GET['postal'];
$telefono=$_GET['telefono'];
$mail=$_GET['mail'];
$interes=$_GET['servicios'];
$otros=$_GET['cuales'];
$comentario=$_GET['comentario'];
mysql_query("insert into formulario (nombre,apellidos,nombre_em,sector,postal,telefono ,mail,servicios,cuales,comentario) values ('$nombre','$apellidos','$nombre_em','$sector','$p ostal','$telefono','$mail','$interes','$otros','$c omentario')",$link);

header("Location: gracias.html");
?>

Creo que el error tiene que ver con el usuario, aunque debería avisarme no? Escribí a mi proveedor de hosting comentandole lo de crear nuevos usuarios y me contestaron que no ofrecian soporte a la programación, asi que no me han solucionado nada :(
  #4 (permalink)  
Antiguo 10/08/2009, 16:07
Avatar de Ronin46  
Fecha de Ingreso: junio-2009
Mensajes: 398
Antigüedad: 14 años, 10 meses
Puntos: 8
Respuesta: no consigo conectar con DB

¿Qué método de envío usas en el formulario? $_POST o $_GET, si no especificas ninguno coge $_POST por defecto

Haz un $resultado = mysql_query(blabla) y mira si te devuelve true o false, ¿Te mete registros en blanco?

A la hora de hacer la consulta (no sé si fue al copiar aquí) fijate que tienes dos variables con el nombre separado "$p ostal" y "$c omentario"

¿Te aseguraste de la contraseña, usuario y nombre BD?
__________________
http://www.controldegastos.com, acepto sugerencias para el sitio.
Repetir conmingo: "tengo que dedicar más tiempo a gozar de placer"
  #5 (permalink)  
Antiguo 11/08/2009, 09:55
 
Fecha de Ingreso: agosto-2009
Mensajes: 16
Antigüedad: 14 años, 8 meses
Puntos: 0
buenas ronin,

ya he hecho la consulta, concretamente he usado este código:

<?php
$link = mysql_connect("db197.1and1.es","dbo293746184","con traseña");
mysql_select_db("db293746184", $link);
$result = mysql_query("SELECT * FROM formulario", $link);
?>

Creo que no lo he hecho bien porque no aparece nada, he probado tambien con un echo para ver si imprime algún registro de la tabla y me da error. Como se ve lo de true o false?

No mete registros en blanco y las variables están bien escritas en el original, se copiaron mal aqui.

En cuanto al usuario y la contraseña son los que me aparecen al lado del nombre de la DB en el panel de control, el del proveedor de hosting, no el de phpmyadmin. En este último no aparecen por ninguna parte, no debería poder editar los usuarios y los privilegios?

Por cierto, se me olvidaba decirte que he probado con get y con post, y no funciona con ninguno. Cual es la diferencia?

Última edición por GatorV; 11/08/2009 a las 13:03
  #6 (permalink)  
Antiguo 11/08/2009, 10:12
Avatar de Ronin46  
Fecha de Ingreso: junio-2009
Mensajes: 398
Antigüedad: 14 años, 10 meses
Puntos: 8
Respuesta: no consigo conectar con DB

Cita:
Iniciado por mimetica Ver Mensaje
Creo que no lo he hecho bien porque no aparece nada, he probado tambien con un echo para ver si imprime algún registro de la tabla y me da error. Como se ve lo de true o false?
Bueno, en esa última consulta que pones no devuelve True o False, eso lo devuelve en el caso de la consulta Insert que pusiste al principio.

En el caso de las consultas Select te devuelve un identificador, en caso de que la consulta se haya echo correctamente, o falso en caso de error.

Prueba a hacer un (adaptándolo a tu consulta):
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
die('Invalid query: ' . mysql_error());
}

También sería bueno que hicieses la misma consulta en la BD, directamente en PHPMyAdmin para ver si está bien hecha la consulta

Cita:
Iniciado por mimetica Ver Mensaje
En cuanto al usuario y la contraseña son los que me aparecen al lado del nombre de la DB en el panel de control, el del proveedor de hosting, no el de phpmyadmin. En este último no aparecen por ninguna parte, no debería poder editar los usuarios y los privilegios?
No tiene porque ser extraño ese comportamiento, yo en mi hosting tampoco lo puedo hacer desde PHPMyAdmin, pero me lo dejan hacer desde otro sitio, eso ya depende de la compañía.

Cita:
Iniciado por mimetica Ver Mensaje
Por cierto, se me olvidaba decirte que he probado con get y con post, y no funciona con ninguno. Cual es la diferencia?
GET pasa los valores del formulario en la url, tal que http://www.dirección.com/?ID=id&Nombre=nombre.... mientras que POST pasa los valores a traver de un array asociativo.

¿Has comprobado que $_GET o $_POST según uses, estén recibiendo el valor? Haz un echo $_GET['NombreCampoForm']
__________________
http://www.controldegastos.com, acepto sugerencias para el sitio.
Repetir conmingo: "tengo que dedicar más tiempo a gozar de placer"
  #7 (permalink)  
Antiguo 11/08/2009, 10:36
 
Fecha de Ingreso: agosto-2009
Mensajes: 16
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: no consigo conectar con DB

He probado con todo lo anterior y no funciona nada...

Como habrás podido comprobar mis conocimientos de programación son más bien limitados (copiar-pegar-modificar-rezar...). La verdad es que estoy bastante bloqueada con este tema, creo que al final optaré por llamar a mi proveedor de hosting para asegurarme que el problema no es de la DB y luego pues no se, me suicidaré jajaja

Gracias por tu dedicación
  #8 (permalink)  
Antiguo 11/08/2009, 11:01
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: no consigo conectar con DB

Por favor, no colocar código de programación en el foro de bases de datos.
Véase: http://www.forosdelweb.com/f21/funci...-datos-413499/

Gracias.

Tema transladado desde la sección de MySQL.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:11.