Foros del Web » Programando para Internet » PHP »

Problemas de conexión PHP - MySQL

Estas en el tema de Problemas de conexión PHP - MySQL en el foro de PHP en Foros del Web. Instalé Apache + PHP + MySQL para windows y en sus últimas versiones estables en Windows2000 ya que quiero aprender a usar PHP, etc. Bueno ...
  #1 (permalink)  
Antiguo 15/05/2002, 05:54
Avatar de Alfon
Colaborador
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.976
Antigüedad: 17 años, 1 mes
Puntos: 14
Problemas de conexión PHP - MySQL

Instalé Apache + PHP + MySQL para windows y en sus últimas versiones estables en Windows2000 ya que quiero aprender a usar PHP, etc.

Bueno pues el caso es que tengo unos ejemplos de un portal con tutoriales sobre el tema de manejos de base de datos PHP/MySQL y no me funcioan. Me explico:

Cuando mediante PHP quiero insertar registros los inserta en la BD pero no los datos, es decir que si inserto 3 registros en la tabla correspondiente aparecen 3 "huecos" pero no los datos. Cuando quiero leer esos datos mediante PHP pues obiamente no lee nada.

Pero ocurre algo muy curioso: si inserto los registros manualmente con comandos o mediante MySQL-Front u otra utilidad, entonces si leo esos datos mediante PHP.

Onde tá el fallo ???????????



Un saludo,
  #2 (permalink)  
Antiguo 15/05/2002, 06:18
Avatar de Alfon
Colaborador
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.976
Antigüedad: 17 años, 1 mes
Puntos: 14
Re: Problemas de conexión PHP - MySQL

Por cierto, uso esto para probar la conexión con MySQL:

----------------------------------------

<html>
<head>
<title>Probando la conexión de los coone</title>
</head>
<body>
<?php
function Conectarse()
{
if (!($link=mysql_connect()))
{
echo "Lo siento pisha, error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("ejemplo",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}

$link=Conectarse();
echo "Tronko, conexión con la base de datos conseguida.<br>";

mysql_close($link); //cierra la conexion
?>
</body>
</html>

-----------------------------------

siempre me dice que la coanxión esta bien.

Un saludo,
  #3 (permalink)  
Antiguo 15/05/2002, 09:37
 
Fecha de Ingreso: diciembre-2001
Mensajes: 451
Antigüedad: 16 años
Puntos: 0
Re: Problemas de conexión PHP - MySQL

y un ejemplito de como estas insertando los datos???
  #4 (permalink)  
Antiguo 15/05/2002, 10:27
Avatar de Alfon
Colaborador
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.976
Antigüedad: 17 años, 1 mes
Puntos: 14
Re: Problemas de conexión PHP - MySQL

Veneeeega también.

Ahí va:


-------------------------------------
<HTML>
<HEAD>
<TITLE>Insertar.php</TITLE>
</HEAD>
<BODY>
<?
//Conexion con la base
mysql_connect("localhost","root&quo t;)
or die ("ERROR no puedo conectar con la base de datos");
//Ejecucion de la sentencia SQL
mysql_db_query("ejemplo","insert into clientes (nombre,telefono) values ('$nombre','$telefono')")
or die ("ERROR no puedo conectar con la base de datos para introducir datos");
?>
<h1><div align="center">Registro Insertado</div></h1>
<div align="center"><a href="lectura.php">Visualizar el contenido de la base</a></div>
</BODY>
</HTML>
--------------------------------------------

Si hace falta algo más avisas... y gracias por el interés.


Un saludo,
  #5 (permalink)  
Antiguo 15/05/2002, 11:52
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Re: Problemas de conexión PHP - MySQL

Verifica que tienes definido como alfanumérico (varchar, longtext, blob, ...) el campo de teléfono, ya que cuando MySQL encuentra algun error con los tipos de campos o directamente no integra nada, o integra huecos :P
  #6 (permalink)  
Antiguo 15/05/2002, 12:29
Avatar de Alfon
Colaborador
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.976
Antigüedad: 17 años, 1 mes
Puntos: 14
Re: Problemas de conexión PHP - MySQL

Pues lo tengo de la siguiente manera:

nombre = VARCHAR(100)
telefono = VARCHAR(100)

De todas maneras probé con los mismos scripts pero con una base de datos y tabla diferente y tengo el mismo problema.


Un saludo,
  #7 (permalink)  
Antiguo 15/05/2002, 14:33
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Re: Problemas de conexión PHP - MySQL

Bueno.. hay algunos detalles en el código que no son muy buenos que digamos... Veamos algunos.

1) Ese script SIEMPRE dirá "Tronko, conexión a la base conseguida"; porque en el flujo de ejecución, siempre para por ese punto, se haya conseguido la conexión realmente o no. Primer detalle.

2) Dentro de la función Conectarse(); veo que se hace una llamada a mysql_connect(); pero no veo que se le pase ninguno de los 3 parámetros obligatorios : Host de la Base, Usuario y Contraseña. Es por ello que no se esté conectando realmente.

3) En el segundo ejemplo que pones, Alfon, estás utilizando una función ya de largo despreciada dentro del PHP, que es mysql_db_query();. Esta función se ha dejado de usar hace mucho, y se la ha reemplazado por mysql_select_db() para elegir la base, y mysql_query(); para ejecutar el Query dentro de la base... deberías cambiarlo por esos dos.

4) Cuando tienes un problema con la base de datos, y no sabes bien porque se produce, yo te recomendaría que SIEMPRE hagas a modo de Debug, nu echo del Query que estás utilizando y generando dinámicamente ( y para ello deberías primero crearlo dentro de una variable y luego utilizar esa variable dentro de mysql_query), y también, mostrar el contenido de mysql_error(); que devuelve el último error generado dentro de la base de datos.

Este es un ejemplo :

<?
//Conexion con la base
$ Conn = mysql_connect("localhost","root&quo t;);
or die ("ERROR no puedo conectar con la base de datos");
mysql_select_db("ejemplo");

//Ejecucion de la sentencia SQL
$sql = "insert into clientes (nombre,telefono) values ('$nombre','$telefono')";
mysql_query($sql, $Conn);

echo "Query : $sql - Error : ".mysql_error();
?>

De esta manera, puedes ver el Query que ejecutaste y el error, si es que se produjo uno.

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #8 (permalink)  
Antiguo 15/05/2002, 16:18
Avatar de Alfon
Colaborador
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.976
Antigüedad: 17 años, 1 mes
Puntos: 14
Re: Problemas de conexión PHP - MySQL

Uaaauuuuuuuuu, gracias Webstudio, te debo una. Mañana lo probaré en el trabajo (es allí donde estoy haciendo estas cosas) y te cuento. De todas formas te diré que tus explicacioenes son bastante logicas y seguro que funciona. Gracias Pablo.

Un saludo,
  #9 (permalink)  
Antiguo 15/05/2002, 17:00
 
Fecha de Ingreso: diciembre-2001
Mensajes: 451
Antigüedad: 16 años
Puntos: 0
Re: Problemas de conexión PHP - MySQL

hola, bueno tambien habia escrito algo de codigo , pero me ganaron jejeje, en todo caso tambien es bueno fijarse en las mayusculas al pasar parametros por url y tambien cuando vas a hacer alguna consulta a la base de datos

por ejemplo:

si tengo mi variable $Nombre y hago quiero hacer un insert asi:

insert into tabla (nombre) values ('$nombre')

va a insertar nada, osea va a insertar pero va a dejar el campo en blanco, como te pasa a ti , por ese detallito de la N mayuscula que es la realmente tiene el valor, lo mismo pasa al enviar parametros por url.

en fin, el php es 'case sensitive' y eso es bueno, antes acostumbraba a poner todas los nombres de vars en minusculas, para que no me pasara eso, ya que a veces no me acordaba y habia puesto una var conn una mayuscula y despues no sabia donde habia quedado, pero por un asunto de buenos habitos de programacion hay que acostumbrarse a 'formatear' los nobres de las vars, para que queden mas bonitas, ademas que te acostumbras con el tiempo. bueno he terminado de delirar..jejeje

SaLuD!! hip!
  #10 (permalink)  
Antiguo 16/05/2002, 06:10
Avatar de Alfon
Colaborador
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.976
Antigüedad: 17 años, 1 mes
Puntos: 14
Re: Problemas de conexión PHP - MySQL

Gracias los dos. Y ahora vamos al lio:

Usé el script de Webstudio de esta manera:
(insertar.php)
------------------------------------

&lt;?
//Conexion con la base
$Conn = mysql_connect(&quot;localhost&quot;,&quot;root&quo t;) //aqui quité el punto y coma
or die (&quot;ERROR no puedo conectar con la base de datos&quot;);
mysql_select_db(&quot;ejemplo&quot;);

//Ejecucion de la sentencia SQL
$sql = &quot;insert into clientes (nombre,telefono) values ('$nombre','$telefono')&quot;;
mysql_query($sql, $Conn);

echo &quot;Query : $sql - Error : &quot;.mysql_error();
?&gt;

----------------------------

el formulario .html usado para introducir los datos:

---------------------------

&lt;HTML&gt;
&lt;HEAD&gt;
&lt;TITLE&gt;Insertar.html&lt;/TITLE&gt;
&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;h1&gt;Insertar un registro&lt;/h1&gt;
&lt;br&gt;
&lt;FORM METHOD=&quot;POST&quot; ACTION=&quot;insertar.php&quot;&gt;
nombre&lt;br&gt;
&lt;INPUT TYPE=&quot;TEXT&quot; NAME=&quot;nombre&quot;&gt;&lt;br&gt;
telefono&lt;br&gt;
&lt;INPUT TYPE=&quot;TEXT&quot; NAME=&quot;telefono&quot;&gt;&lt;br&gt;
&lt;INPUT TYPE=&quot;SUBMIT&quot; value=&quot;Insertar&quot;&gt;
&lt;/FORM&gt;
&lt;/div&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;

------------------------------------

Me devuelve el error:

Query : insert into clientes (nombre,telefono) values ('','') - Error :

-------------------------------------

De que puede ser el error ??.

Un saludo,
  #11 (permalink)  
Antiguo 16/05/2002, 09:36
 
Fecha de Ingreso: diciembre-2001
Mensajes: 451
Antigüedad: 16 años
Puntos: 0
Re: Problemas de conexión PHP - MySQL

alfon , tienes el myadmin?...

mira, asi lo hago yo para hacer las consultas:
Código:
// primero hago la operacion en una var
// asi ordenadita e indentada  :golpeado: 
// (aca no puedo indentar...)
$qUpdate = &quot;&quot;
.&quot;INSERT INTO &quot;
.&quot;tabla1 &quot;
.&quot;(tabla1.att1, tabla1.att2)&quot;
.&quot;VALUES &quot;
.&quot;'$Valor1', '$Valor2'&quot;;

// Luego hago la consulta
$result = mysql_query($qUpdate) or die (&quot;Error en BD.&quot;.$qUpdate);

/* El detalle es que si la operacion falla devolvera el string de error e imprimira la variable que tiene la consulta en la pantalla, y podre saber si hay algun error sintactico, puede ser a simple vista o usando el myadmin, u otra interfaz para hacer consultas a la bd.

Bueno a lo que queria llegar es que podrias 'volcar' la consulta y luego haces un copy&amp;paste en la ventanita de consultas del myadmin, generalmente te da la info del error y en la liena donde esta o por lo menos cerca, igual es buena forma de probar tus consultas.
*/
eso :)
  #12 (permalink)  
Antiguo 16/05/2002, 10:10
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Re: Problemas de conexión PHP - MySQL

El problema es bien claro Alfon. como has visto, ahora que tienes el Query mostrado en pantalla, verás que ni el nombre ni el telefono son agregados dentro del Query, por lo que asumo que debes estar usando una versión nueva de PHP con la opción de registrar variables globales deshabilitada..

Lo que tienes que hacer para solucionar tu problema, es al principio del Script que guarda los datos, hacer lo siguiente :

&lt;?
$nombre = $_POST[&quot;nombre&quot;];
$telefono = $_POST[&quot;telefono&quot;];
?&gt;

Con eso tomas los valores desde las variables POST y se las asignas a las variables PHP.

Con eso ya debería funcionar.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #13 (permalink)  
Antiguo 16/05/2002, 10:33
Avatar de Alfon
Colaborador
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.976
Antigüedad: 17 años, 1 mes
Puntos: 14
Re: Problemas de conexión PHP - MySQL

Oleeeee. Gracias Webstudio y d^_^b. Esto ya funciona.

Usé lo que me dijiste Webstudio y gaba los datos, también los lee lo único que pasa es que la rutina esa de error me reporta lo siguiente:

----------------------------------
Query : insert into clientes (nombre,telefono) values ('Garcia','234356') - Error :
----------------------------------


d^_^b probaré eso que me dices también.

Un saludo,
  #14 (permalink)  
Antiguo 16/05/2002, 11:12
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Re: Problemas de conexión PHP - MySQL

Te va a seguir mostrando ese mensaje, que no es un mensaje de error, sino que te sirve para darte cuenta de que tu Query está bien formado. Y como ves, tampoco te da ningún mensaje de error, por lo que estás haciendo las cosas bien..
Ahora, tan solo comenta esa linea para que el mensaje no aparezca (anteponiendo //) y vuelve a utilizarla cuando tengas un nuevo error.

Saludos.!

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #15 (permalink)  
Antiguo 16/05/2002, 11:34
Avatar de Alfon
Colaborador
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.976
Antigüedad: 17 años, 1 mes
Puntos: 14
Re: Problemas de conexión PHP - MySQL

Gracias Webstudio. La verdad es que me habia qeudado bastante atascado. Ya puedo seguir estudiando PHP con la tranquilidad de por lo menos ya puedo ingresar datos a la base y consultarlos.

Un saludo,
  #16 (permalink)  
Antiguo 16/05/2002, 11:48
 
Fecha de Ingreso: diciembre-2001
Mensajes: 451
Antigüedad: 16 años
Puntos: 0
Re: Problemas de conexión PHP - MySQL

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 04:29.