PHP - NO CONECTO CON LA BASE DE DATOS SQL

 
Vista:
Imágen de perfil de sandra

NO CONECTO CON LA BASE DE DATOS SQL

Publicado por sandra (50 intervenciones) el 10/04/2015 11:04:14
Buenas. Estoy desesperada, no consigo una cosa tan sencilla como conectar con mi base de datos sql.
He conseguido un hosting gratuito para hacer pruebas. No tengo nada mas en el servidor que una pagina llamada default.php y una base de datos con una sola tabla y cuatro campos....

Y en el default.php está este código:

<?php
$link
=mysql_connect("mysql.hostinger.es", "u940018940_cosas", "passbasedatos");

mysql_select_db("u940018940_cosas",$link) OR DIE ("Error: No es posible establecer la conexión");
//SELECCIONA LA BASE DE DATOS QUE QUIERES MOSTRAR

$sql = "select * from cliente";
mysql_query($sql,$conexion);//REALIZA LA CONSULTA

echo "<table>"; //EMPIEZA A CREAR LA TABLA CON LOS ENCABEZADOS DE TABLA
echo "<tr>";//<tr> CREA UNA NUEVA FILA
echo "<td>NOMBRE</td>";//<td> CREA NUEVA COLUMNA
echo "<td>APELLIDO</td>";
echo "<td>TELEFONO</td>";
echo "<td>E-MAIL</td>";
echo "</tr>";

$reg = mysql_fetch_array($result, MYSQL_BOTH);//LA VARIABLE $REG GUARDA LOS REGISTROS DE LA CONSULTA REALIZADA
while($reg)
{
echo "<tr>";
echo "<td>".$reg[0]."</td>";//EN CADA CELDA SE COLOCA EL CONTENIDO DE REG
echo "<td>".$reg[1]."</td>";
echo "<td>".$reg[2]."</td>";
echo "<td>".$reg[3]."</td>";
$reg = mysql_fetch_array($result, MYSQL_BOTH);
echo "</tr>";
}
echo "</table>";//FINALIZA LA TABLA
mysql_close($conexion);
?>

No hay forma de conectar con la base de datos y mostrar los dos registros que he introducido manualmente. Me da los siguientes errores cuando entro en la web:

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/u940018940/public_html/default.php on line 9

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/u940018940/public_html/default.php on line 19
NOMBRE APELLIDO TELEFONO E-MAIL

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/u940018940/public_html/default.php on line 31

Lo he intentado de mil formas y no hay manera, veis algo que pueda fallar?
Yo tengo duda en la conexión directamente si poner localhost o mysql.hostinger.es que es el servidor donde esta la base de datos, o ponerlo con http://.... ya no se que mas hacer..

P.D: el nombre de la base de datos, el usuario y la pass son correctos... y la tabla cliente y los campos exactamente igual que en el phpmyadmin y tienen como tipo de datos TEXT es correcto? o mejor VARCHAR?...esto es de brujas o q pasa aqui? Socorro!

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de sandra

NO CONECTO CON LA BASE DE DATOS SQL

Publicado por sandra (50 intervenciones) el 10/04/2015 11:23:56
he corregido una cosita, la variable $conexion no la conocia. la conexion con la bdd la recoge en $link creo no? es que soy nueva en php jeje.

Ahora me devuelve un solo warning:
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/u940018940/public_html/default.php on line 18

y el codigo de la pagina es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$link=mysql_connect("mysql.hostinger.es", "u940018940_cosas", "cloepik111");
 
mysql_select_db("u940018940_cosas",$link) OR DIE ("Error: No es posible establecer la conexión");
//SELECCIONA LA BASE DE DATOS QUE QUIERES MOSTRAR
 
$sql = "select * from cliente";
mysql_query($sql,$link);//REALIZA LA CONSULTA
 
echo "<table>"; //EMPIEZA A CREAR LA TABLA CON LOS ENCABEZADOS DE TABLA
echo "<tr>";//<tr> CREA UNA NUEVA FILA
echo "<td>NOMBRE</td>";//<td> CREA NUEVA COLUMNA
echo "<td>APELLIDO</td>";
echo "<td>TELEFONO</td>";
echo "<td>E-MAIL</td>";
echo "</tr>";
 
$reg = mysql_free_result($result);//LA VARIABLE $REG GUARDA LOS REGISTROS DE LA CONSULTA REALIZADA
while($reg)
{
echo "<tr>";
echo "<td>".$reg[0]."</td>";//EN CADA CELDA SE COLOCA EL CONTENIDO DE REG
echo "<td>".$reg[1]."</td>";
echo "<td>".$reg[2]."</td>";
echo "<td>".$reg[3]."</td>";
$reg = mysql_free_result($result);
echo "</tr>";
}
echo "</table>";//FINALIZA LA TABLA
mysql_close($link);
?>

alguna idea? estoy muy perdida jeje
O algun codigo que os funcione a vosotros? solo quiero vr que se conecta a la bdd y muestra los dos registros que hay.... Thanks!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto
Val: 478
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

NO CONECTO CON LA BASE DE DATOS SQL

Publicado por Alberto (351 intervenciones) el 10/04/2015 18:47:48
Hola...

Posiblemente no estas pasando los parámetros de conexión de manera correcta, mysql_connect() como bien sabes recibe tres parámetros en el siguiente orden.

1.- Servidor a cual se va a conectar, donde puede ser 'localhost' o una dirección IP.
2.- Usuario de la base de datos.
3.- Contraseña de la base de datos.

La dirección del servidor regularmente te lo envían por correo electrónico cuando te has registrado con X Hosting, puedes usar tanto el nombre del servidor que ellos te proporcionaron o bien la IP que también viene con la información que te mandaron, sin embargo, los datos de usuario y contraseña de la base de datos son los que tu ingresas cuando creas una base de datos en el Hosting.

No obstante, también recordemos que mysql_select_db() también recibe dos parámetros en el siguiente orden...

1.- Nombre de la base de datos.
2.- Conexion.

Al final, debes tener algo de la siguiente manera...

1
2
3
4
5
6
7
$conn = mysql_connect('Servidor y/o IP','Usuario','Password') OR DIE ("Error de conexion: " . mysql_error());
$db = mysql_select_db('Base de datos',$conn) OR DIE ("Error en la base de datos: " . mysql_error());
$sql = "SELECT * FROM tabla";
$result = mysql_query($sql,$conn);
while($row = mysql_fetch_array($result)){
	echo $row[0];
}

Cualquier duda y/o inconveniente, aquí estamos. Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de sandra

NO CONECTO CON LA BASE DE DATOS SQL

Publicado por sandra (50 intervenciones) el 10/04/2015 18:49:44
Lo revisare, a ver si lo consigo, gracias. Y para mostrar los registros esta bien el codigo?

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto
Val: 478
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

NO CONECTO CON LA BASE DE DATOS SQL

Publicado por Alberto (351 intervenciones) el 10/04/2015 19:05:39
Sep...

El código que te proporcione es funcional.

Cualquier duda y/o inconveniente, aquí estamos. Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de sandra

NO CONECTO CON LA BASE DE DATOS SQL

Publicado por sandra (50 intervenciones) el 10/04/2015 19:08:00
Ai si, q tambien pones para mostrar los registros. Con poner eso ya se muestran todos los q haya? Sea uno, treinta o cien,no? Grasias d nuevo, estoy muy pez jeje
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de sandra

NO CONECTO CON LA BASE DE DATOS SQL

Publicado por sandra (50 intervenciones) el 13/04/2015 11:33:51
Me ha funcionado perfectamente! por fin, llevaba una semana que no lo conseguia, muchas gracias!

Ahora... a intentar insertar datos medante un formulario jeje. Teneis algun codiguito que funcione?

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto
Val: 478
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

NO CONECTO CON LA BASE DE DATOS SQL

Publicado por Alberto (351 intervenciones) el 13/04/2015 18:54:34
Hola...

Jajajaja... Claro con gusto te proporciono el código aunque hay infinidad de ejemplos en Internet ^^!. Te proporciono el ejemplo completo...

form.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<html>
	<head>
		<title>Guardar Usuarios</title>
	</head>
	<body style="font: 12pt normal 'Arial';">
		<form action="controlador.php" method="post">
			<table>
				<tr>
					<td><b>Id:</b></td>
					<td><input type="text" name="id"></td>
				</tr>
				<tr>
					<td><b>Nombre:</b></td>
					<td><input type="text" name="nombre"/></td>
				</tr>
				<tr>
					<td><b>Apellidos:</b></td>
					<td><input type="text" name="apellidos"></td>
				</tr>
				<tr>
					<td><b>Edad:</b></td>
					<td><input type="text" name="edad"/></td>
				</tr>
				<tr>
					<td></td>
					<td><input type="submit" value="Guardar"></td>
				</tr>
			</table>
		</form>
	</body>
</html>

controller.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
	//Recuperamos los datos del formulario.
	$id=$_POST['id'];
	$nombre=$_POST['nombre'];
	$apellidos=$_POST['apellidos'];
	$edad=$_POST['edad'];
 
	//Realizamos la conexion a la base de datos.
	$conexion = mysqli_connect("localhost","root","","practicas");
 
	//Comenzamos la transaccion.
	$sql = "INSERT INTO usuario VALUES('".$id."','".$nombre."','".$apellidos."','".$edad."')";
	mysqli_query($conexion,$sql);
	if(mysqli_affected_rows($conexion) > 0){
		echo "REGISTRO GUARDADO CORRECTAMENTE";
	} else {
		echo mysqli_error($conexion);
	}
?>

Cualquier duda y/o comentario, aquí estamos. Suerte!

P.D.1. No utilizo el tradicional código de conexión a MySQL; es decir, mysql_connect(), debido a que esta siendo obsoleto para futuras versiones de PHP por lo que no permitirán implementar dicho código.
P.D.2. mysqli_connect(), recibe cuatro parámetros en el siguiente orden: Servidor,Usuario,Password,BD.
P.D.3. No puedes combinar las diferentes formas para interactuar con la base de datos; es decir, si trabajas con mysqli_ desde un principio entonces tendrás que seguir con esa forma, no puedes tener una parte en mysqli_ y otra en mysql_ tradicional o el mismo PHP te mostrara un error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de sandra

NO CONECTO CON LA BASE DE DATOS SQL

Publicado por sandra (50 intervenciones) el 13/04/2015 19:33:43
Me ha funcionado uno que he encontrado, es mysql.... En mi hosting puedo elegir la version php, he elegido la 5.2 me dara problemas? de momento me funciona bien. Y he conseguido insertar datos jeje,.

Ahora tengo un pequeñito problema, para que una ventana emergente me salga en el centro de la pantalla....Está creada con este codigo:

1
2
3
4
5
6
7
8
9
10
11
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<title>Formulario</title>
<script type="text/javascript">
<!--
function procesar(xform){
window.open(xform, 'nventana', 'width=150,height=150,status=no,resizable=no,scrollbars=no');
}
-->
</script>
</head>

como lo puedo hacer? hay algun atributo como width, height? que pueda hacer eso?

Gracias! q preguntona soi jajajaj
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto
Val: 478
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

NO CONECTO CON LA BASE DE DATOS SQL

Publicado por Alberto (351 intervenciones) el 13/04/2015 19:49:39
Hola...

Con respecto a lo de versión no estoy seguro desde que versión de PHP ya no te permite implementar el mysql tradicional, yo estoy usando la versión 5.5 y ya esta obsoleto esos métodos, eh ahí la razón del porque uso mysqli, además me da flojera descargar versiones anteriores xD...

Ahora, con respecto a la ventana emergente pues ahí veo que tiene los atributos que tu mencionas, el punto del código sería adaptarlo a tus necesidades, pero ten por seguro que tendrás que implementar JavaScript ya que es mas fácil.

Cualquier duda y/o comentario, aquí estamos. Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de sandra

NO CONECTO CON LA BASE DE DATOS SQL

Publicado por sandra (50 intervenciones) el 13/04/2015 19:51:45
Me daba error y hasta que descubri que era la version de php....me las vi negra, fue cambiarla a la 5.2 y de maravilla jajaja

Buscare a ver como hacer lo del popup ^_^ pero ya mañana que hoy me hacen chiribitas los ojos jaja
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto
Val: 478
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

NO CONECTO CON LA BASE DE DATOS SQL

Publicado por Alberto (351 intervenciones) el 13/04/2015 19:55:13
Jajajajaja... Que cosas :p

Bueno, aquí estamos por cualquier cosa que necesites.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar