Foros del Web » Programando para Internet » PHP »

No puedo conectar php con mysql

Estas en el tema de No puedo conectar php con mysql en el foro de PHP en Foros del Web. holas como sale arriba tengo ese probema que es muy básico pero no se la verdad que hacer espero y me puedan ayudar, tengo: apache ...
  #1 (permalink)  
Antiguo 24/10/2012, 08:43
 
Fecha de Ingreso: abril-2011
Mensajes: 18
Antigüedad: 13 años
Puntos: 0
No puedo conectar php con mysql

holas como sale arriba tengo ese probema que es muy básico pero no se la verdad que hacer espero y me puedan ayudar, tengo:

apache 2.2.22
mysql 5.5.24
php 5.4.3

todo instado por wampserver 2.2


el formulario es

<html>
<head>
<title>Page Title</title>
</head>
<body>
<form method="post" action="prueba2.php">

nombre<br>
<input type="text" name="campo1" id="1">
<input type="submit" name="Guardar">

</form>
</body>
</html>

el cual envio al archivo php que sigue

<?php
$nombre=$_POST['campo1'];

$conexion=mysql_connect("localhost","root","");
mysql_select_db("informe");

mysql_query("insert into cliente (nombre) values ('$nombre')");

<h1><div align="center">Registro Insertado</div></h1>

$resultado=mysql_query("select nombre from cliente");

echo "tu nombre es: ".$resultado['nombre'];

?>

y que cuando ejecuto el html me sale esto en pantalla

Registro Insertado
$resultado=mysql_query("select nombre from cliente"); echo "tu nombre es: ".$resultado['nombre']; ?>


PORFAVOR AYUDENME ESTOY MUY ESTRESADO PORQUE A MI ANTES ME FUNCIONABA DE LO MÁS BIEN NO SE LO QUE PODRÁ SER

DISCULPEN OS BÁSICO DEL TEMA Y GRACIAS DE ANTEMANO
  #2 (permalink)  
Antiguo 24/10/2012, 10:59
 
Fecha de Ingreso: octubre-2012
Mensajes: 2
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: No puedo conectar php con mysql

¿Seguro que puedes meter etiquetas html del tipo <h1> o <div> dentro de un código php? Porque yo lo he intentado y me da error.

Prueba a quitar esa sentencia html. Siempre que quieras indicar algo en un código php puedes hacerlo con comentario si es de cara al propio programador o con echo si es de cara al usuario.

Y en cuanto a la conexión con la bd yo te recomendaría poner algo así:

Código:
$conexion=mysql_connect("localhost","root","") or die ("No hay conexion");
$bd=mysql_select_db("prueba",$conexion) or die ("No existe la base de datos");
Así te avisará si la conexión no tiene éxito.

¡Un saludo!
Iván.
  #3 (permalink)  
Antiguo 24/10/2012, 11:30
Avatar de flashmax  
Fecha de Ingreso: julio-2012
Ubicación: Bs.As. Argentina
Mensajes: 507
Antigüedad: 11 años, 8 meses
Puntos: 86
Respuesta: No puedo conectar php con mysql

Hola tu ves eso por que no tienes que ejecutar tu pagina con .html sino .php e ingresando desde tu navegador a traves de http://localhost/

Cita:
y que cuando ejecuto el html me sale esto en pantalla

Registro Insertado
$resultado=mysql_query("select nombre from cliente"); echo "tu nombre es: ".$resultado['nombre']; ?>
__________________
Saludos!
----------------------------------------------------------
  #4 (permalink)  
Antiguo 24/10/2012, 11:32
 
Fecha de Ingreso: septiembre-2012
Ubicación: Jalisco, México
Mensajes: 38
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: No puedo conectar php con mysql

Como dice Hivvahispano, no puedes poner etiquetas HTML en PHP< a menos que los declares en un 'echo'. Por ejemplo:

Código PHP:
echo "<br><h1>Esto es un titulo en php</h1>";
echo 
"Para poner comillas dentro de una etiqueta HTML en codigo PHP, debes poner antes una diagonal inversa antes de cada una delas comillas dobles, \\ , sino, no aparecera. Ejemplo:";
echo 
"<INPUT TYPE=\"TEXT\"> Escribe ahi."
  #5 (permalink)  
Antiguo 24/10/2012, 14:01
 
Fecha de Ingreso: abril-2011
Mensajes: 18
Antigüedad: 13 años
Puntos: 0
Respuesta: No puedo conectar php con mysql

Muchas gracias ya lo logre esa er ala prueba pero ahora tengo problemas con este no se si pueden ser tan amables de volver a revisar desde ya muchas gracias y aqui dejo el codigo html:

<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form action="basecliente.php" method="get">
<table width="100%" height="259" border="0">
<tr>
<td width="12%"><div align="right">Ingreso de Datos</div></td>
<td></td>
</tr>
<tr>
<td height="35">Nombres</td>
<td>: <input name="text1" type="text" id="1"></td>
</tr>
<tr>
<td>Apellidos</td>
<td>: <input name="text2" type="text" id="2"

</tr>
<tr>
<td>Rut</td>
<td>: <input name="text3" type="text" id="3"></td>
</tr>
<tr>
<td>Dirección</td>
<td>: <input name="text4" type="text" id="4"></td>
</tr>
<tr>>
<td>Comuna</td>
<td>: <input name="text5" type="text" id="5"></td>
</tr>
<tr>
<td>Telefono</td>
<td>: <input name="text6" type="text" id="6"></td>
<tr>
<td>Celular</td>
<td>: <input name="text7" type="text" id="7"></td>
</tr>
<tr>
<td></td>
<td><div align="center"><input name="Guardar" type="submit"><input name="limpiar" type="reset"></div></td>
</tr>
</table>
</form>
</body>
</html>

Y POR AQUI EL PHP Q SOLO INSERTA Y ME GUSTARAI SABER BIEN COMO DEBIERA SER ELCODIGO PARA MOSTRAR LO QUE SELECCIONO CON SELECT * FROM

<?php
$nombre=$_POST['text1'];
$apellido=$_POST['text2'];
$rut=$_POST['text3'];
$direccion=$_POST['text4'];
$comuna=$_POST['text5'];
$telefono=$_POST['text6'];
$celular=$_POST['text7'];

if(!($conexion=mysql_connect("localhost","root","" ))){
die('no se pudo conectar: '. mysql_error());
}
else{
mysql_select_db("libreta",$conexion);
$q=mysql_query("insert into cliente (nombre,apellido,rut,telefono,celular,direccion,co muna) values ('$nombre','$apellido','$rut','$telefono','$celula r','$direccion','$comuna')");
echo "todo bien;
}
mysql_close($conexion);
?>


Y EL ERROR ES

Parse error: syntax error, unexpected end of file in C:\wamp\www\basecliente.php on line 19

PERO EN ESA LINEA ESTA EL CIERRE DEL CODIGO PHP,

GRACIAS POR SU GRAN AYUDA DE ANTEMANO
  #6 (permalink)  
Antiguo 24/10/2012, 14:09
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: No puedo conectar php con mysql

Tenes 20mil errores HTML.
Primero tenes que aprender a cerrar todas las etiquetas.
  #7 (permalink)  
Antiguo 24/10/2012, 15:01
 
Fecha de Ingreso: abril-2011
Mensajes: 18
Antigüedad: 13 años
Puntos: 0
Respuesta: No puedo conectar php con mysql

si me imganio q debo tener errores por ejemplo me di cuenta de esto

<td>Apellidos</td>
<td>: <input name="text2" type="text" id="2"

donde el input no estaba cerrado o que me sobraba una sigo en <tr>>

pero no se que otro error podría tener en el html si fueses tan gentil de decirme alguno más te lo agradecería mucho. y gracias por darte el tiempo se valora
  #8 (permalink)  
Antiguo 24/10/2012, 15:07
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: No puedo conectar php con mysql

tu problema es que no cerras bien las etiquetas.
Primero cerra todas las etiquetas como se debe, tenias un meta tag tambien sin cerrar, <tr> que ni se cierran.
  #9 (permalink)  
Antiguo 24/10/2012, 18:27
Avatar de flashmax  
Fecha de Ingreso: julio-2012
Ubicación: Bs.As. Argentina
Mensajes: 507
Antigüedad: 11 años, 8 meses
Puntos: 86
Respuesta: No puedo conectar php con mysql

Hola te falto una doble comilla en echo "todo bien";
prueba y nos cuentas
__________________
Saludos!
----------------------------------------------------------
  #10 (permalink)  
Antiguo 24/10/2012, 19:01
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: No puedo conectar php con mysql

No he leido ni una sola de las paginas de tu post. La verdad me ha dado pereza pero me llamo la atención algo que encontre al comienzo del mismo.

Cita:
apache 2.2.22
mysql 5.5.24
php 5.4.3

todo instalado por wampserver 2.2
Según tengo entendido desde php 5.4 y teniendo en cuenta lo que han colocado en numerosas ocasiones en foros del web la libreria mysql ya no estara soportada y en su lugar se debe hacer con mysqli. Como no he tenido la oportunidad de tener un servidor de "los nuevos" verifica con php info si todavia aparece la libreria mysql o si solo aparece mysqli.

Has una conexión sencilla con mysqli y si funciona pues el resto es carpinteria.

Espero que con esto soluciones tu problema.

p.s. Si aparte tienes problemas cerrando tags y otras cosas pues ya es caso aparte. Yo primero haria la prueba sencilla de establecer la conexión con la base de datos con mysqli.
__________________
Blog de humor http://elcuasatar.net63.net/
  #11 (permalink)  
Antiguo 28/10/2012, 23:48
 
Fecha de Ingreso: abril-2011
Mensajes: 18
Antigüedad: 13 años
Puntos: 0
Respuesta: No puedo conectar php con mysql

Ya si claro tenias cuasatar ahora estoy con mysqli y tengo un error que me sale espero me puedan ayudar.

aquí dejo el formulario que se envía por método POST: EN EL CUAL NO ME ARROJA PROBLEMAS.

<html>
<head>
<title>Registro</title>
</head>
<body>
<form action="formclie.php" method="post">
<table width="400">
<tr>
<td width="150"><label>Nombre:</label></td>
<td width="250"><input type="text" name="nombre" /></td>
</tr>
<tr>
<td><label>Apellido:</label></td>
<td><input type="text" name="apellido" /></td>
</tr>
<tr>
<td><label>Rut:</label></td>
<td><input type="text" name="rut"/></td>
</tr>
<tr>
<td><label>Teléfono:</label></td>
<td><input type="text" name="telefono"/></td>
</tr>
<tr>
<td><label>Celular:</label></td>
<td><input type="text" name="celular"/></td>
</tr>
<tr>
<td><label>Direción:</label></td>
<td><input type="text" name="direccion"/></td>
</tr>
<tr>
<td><label>Comuna:</label></td>
<td><input type="text" name="comuna"/></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" name="registrarse" value="Registrarse"/></td>
</tr>
</table>
</form>
</body>
</html>

Y AQUÍ EL CODIGO PHP:

<?php
$mysqli = new mysqli('localhost','root','','libreta');
if(mysqli_connect_errno()){
printf("Imposible conectarse: %s\n", mysqli_connect_error());
exit();
}
$query = "insert into cliente (nombre,apellido,rut,telefono,celular,direccion,co muna) values(?,?,?,?,?,?,?)";
if($stmt = mysqli->prepare($query)){
$stmt->bind_param('sssssss', $_post['nombre'],
$_post['apellido'],
$_post['rut'],
$_post['telefono'],
$_post['celular'],
$_post['direccion'],
$_post['comuna']);
$stmt->execute();
$stmt->close();
}
?>
<html>
<head>
<title>Registrarse</title>
</head>
<body>
<h1><?=$_POST['nombre'];?>, usted se ha registrado exitosamente</h1>
</body>
</html>

EL CUAL DEBO AÑADIR SUS VARIABLES ESTÁN TODAS COMO VARCHAR EN LA BASE DE DATOS CREADA.

Y EL "ERROR ES EL QUE SIGUE"

Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR) in C:\wamp\www\formclie.php on line 8

ESPERO SU AYUDA Y DESDE YA MIL GRACIAS

Última edición por feuerwehr189; 28/10/2012 a las 23:49 Razón: ME FALTO ALGO
  #12 (permalink)  
Antiguo 29/10/2012, 06:51
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: No puedo conectar php con mysql

Honestamente no he tenido la oportunidad de trabajar con estas funciones de prepare y bind_param. Revise en el manual y en teoría parece que estuviera bien escrito. Yo tratando de emular al manual haria lo siguiente:

Código PHP:
$stmt $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd'$code$language$official$percent);

$code 'DEU';
$language 'Bavarian';
$official "F";
$percent 11.2
Si te das cuenta ellos no colocan directamente el post dentro de bind_param sino que despues le dan un valor, en el caso del ejemplo son strings pero en tu caso deberia ser $_POST['loquesea'];

Hasta donde tengo entendido la matriz $_POST siempre se debe referenciar asi en mayusculas y no en minusculas como tu lo tienes (igual busca en el manual para que lo confirmes) Yo para descartar errores verificaria con un echo que todos los parametros post si estan llegando bien y basandome en el el ejemplo del manual le cambiaria esto (se da por sobre entendido que tu debes usar tu propia consulta )

Código PHP:
$code 'DEU';
//lo reemplazas con
$code =$_POST['code']; 
Por favor comentanos como te va con eso y de paso aprendemos todos a usar una nueva función. Creo que con lo que sugiero deberia arreglarse el problema.
__________________
Blog de humor http://elcuasatar.net63.net/
  #13 (permalink)  
Antiguo 29/10/2012, 07:25
 
Fecha de Ingreso: abril-2011
Mensajes: 18
Antigüedad: 13 años
Puntos: 0
Respuesta: No puedo conectar php con mysql

gracias lo pongo en practica y comento.


gracias
  #14 (permalink)  
Antiguo 29/10/2012, 14:53
 
Fecha de Ingreso: abril-2011
Mensajes: 18
Antigüedad: 13 años
Puntos: 0
Respuesta: No puedo conectar php con mysql

CUasar amigo del foro mira intente lo que colocare a continuacion

Código PHP:
<?php
    $mysqli 
= new mysqli('localhost','root','','libreta');
    if(
mysqli_connect_errno()){
        
printf("Imposible conectarse: %s\n"mysqli_connect_error());
        exit();
    }
    
//$query = "INSERT INTO cliente (nombre,apellido,rut,telefono,celular,direccion,comuna) values(?,?,?,?,?,?,?)";
    
$nombre $_POST['nombre'];
    
$apellido $_POST['apellido'];
    
$rut $_POST['rut'];
    
$telefono $_POST['telefono'];
    
$celular $_POST['celular'];
    
$direccion $_POST['direccion'];
    
$comuna $_POST['comuna'];
    
    
//echo 'Mi Nombre es: '.$nombre.' '.$apellido.' y soy de '.$comuna ;
   
    
$sentencia $mysqli->stmt_init();
   
    if(
$sentencia mysqli->prepare("INSERT INTO cliente (nombre,apellido,rut,telefono,celular,direccion,comuna) values(?,?,?,?,?,?,?)")){
        
$sentencia->bind_param('sssssss'$nombre$apellido$rut$telefono$celular$direccion$comuna);
        
$sentencia->execute();
        
$sentencia->bind_result($nombre,$apellido,$rut,$telefono,$celular,$direccion,$comuna);
        
$sentencia->fetch();
        
//printf("%s el nombre es%s\n", $nombre);
        
$sentencia->close();
    }
?>
y si te fijas tengo comentado un echo donde comprobé que las variables si me llegan.

El ERROR que me arroja es el que sigue:

Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR) in C:\wamp\www\formclie.php on line 20

Espero me puedas seguir ayudando y gracias nuevamente

Última edición por feuerwehr189; 29/10/2012 a las 17:31 Razón: falto codigo error
  #15 (permalink)  
Antiguo 30/10/2012, 07:19
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: No puedo conectar php con mysql

Código PHP:
$mysqli = new mysqli('localhost','root','','libreta');
//error fatal
$sentencia mysqli->prepare("INSERT INTO cliente (nombre,apellido,rut,telefono,celular,direccion,comuna) values(?,?,?,?,?,?,?)")) 
Collons! El error que tienes es de pura falta de atención. Si estas creando un objeto $mysqli (asi con $) puedes debes invocarlo igual. El error que te bota es muy claro.

unexpected '->' (T_OBJECT_OPERATOR) mysqli (asi sin $) no es un objeto, ni una variable ni nada por el estilo.

el objeto mysqli no existe, existe $mysqli. Si lo hubiera detectado antes en el codigo anterior te lo hubiera comentado. Como ya le pusiste el highlight para visualizar el código hoy lo vi

Por eso te recomende que te basaras en el ejemplo del manual

Cita:
$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
Espero que con eso ya soluciones tu problema. Por falta de tiempo no puedo colaborarte mas pero supongo que con eso sera mas que suficiente para arreglar tu problema.
__________________
Blog de humor http://elcuasatar.net63.net/
  #16 (permalink)  
Antiguo 30/10/2012, 09:33
 
Fecha de Ingreso: abril-2011
Mensajes: 18
Antigüedad: 13 años
Puntos: 0
Respuesta: No puedo conectar php con mysql

se agradece muchas gracias de verdad =)
  #17 (permalink)  
Antiguo 30/10/2012, 20:22
 
Fecha de Ingreso: abril-2011
Mensajes: 18
Antigüedad: 13 años
Puntos: 0
Respuesta: No puedo conectar php con mysql

Cuasatar amigo, ahora intento mostrar los campos nombre y apellido de la tabla de la BD, pero no me resulta no me muestra error alguno, pero queda en blanco la página, mira aquí el código donde se inserta los datos.

Código PHP:
<?php
    $mysqli 
= new mysqli('localhost','root','','libreta');
    if(
mysqli_connect_errno()){
        
printf("Imposible conectarse: %s\n"mysqli_connect_error());
        exit();
    }
    
$nombre $_POST['nombre'];
    
$apellido $_POST['apellido'];
    
$rut $_POST['rut'];
    
$telefono $_POST['telefono'];
    
$celular $_POST['celular'];
    
$direccion $_POST['direccion'];
    
$comuna $_POST['comuna'];
    
    
$sentencia $mysqli->stmt_init();
    if(
$sentencia $mysqli->prepare("INSERT INTO cliente (nombre,apellido,rut,telefono,celular,direccion,comuna) values(?,?,?,?,?,?,?)")){
        
$sentencia->bind_param('sssssss'$nombre$apellido$rut$telefono$celular$direccion$comuna);
        
$sentencia->execute();
        
$sentencia->close();
    }
?>
<html>
    <head>
        <title>HOME</title>
    </head>
    <body>
        <table align=center border=2> 
            <a href="formclie.html">Ingresar Nuevo Cliente</a><br><tr>
            <a href="busquedaclie.php">Búsqueda Completa</a>
        </table>
    </body>
</html>
luego si te fijas en el html que coloque abajo del php tengo 2 link el ingresar nuevo cliente funciona bien, pero el busqueda no pasa nada aquí te dejo el codigo de busquedaclie.php

Código PHP:
<?
    $mysqli 
= new mysqli('localhost','root','','libreta');
    if(
mysqli_connect_errno()){
        
printf("Imposible conectarse: %s\n"mysqli_connect_error());
        exit();
    }
    
$consulta "SELECT nombre, apellido FROM cliente";
    if(
$sentencia $mysqli->prepare($consulta)){
        
$sentencia->execute();
        
$sentencia->bind_result($nombre$apellido);
        while (
$sentencia->fetch()){
            
printf ("%s (%s)\n"$nombre$apellido);
        }
        
$sentencia->close();
    }
    
$mysqli->close();

?>
ESPERO Y ME PUEDAS VOLVER AYUDAR Y NO TE ABURRAS DE MIS INAGOTABLES CONSULTAS Y PETICIONES DE AYUDA, DESDE YA MUCHAS GRACIAS =)

Última edición por feuerwehr189; 30/10/2012 a las 20:28
  #18 (permalink)  
Antiguo 31/10/2012, 06:05
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: No puedo conectar php con mysql

Cita:
ESPERO Y ME PUEDAS VOLVER AYUDAR Y NO TE ABURRAS DE MIS INAGOTABLES CONSULTAS Y PETICIONES DE AYUDA, DESDE YA MUCHAS GRACIAS =)
Cita:
Espero que con eso ya soluciones tu problema. Por falta de tiempo no puedo colaborarte mas pero supongo que con eso sera mas que suficiente para arreglar tu problema.
Lo siento, pero te tocara defenderte como nos toca hacer a la mayoria de nosotros, a punta de manual. Activa los errores de mysqli y ya encontraras tu solo la solución.
__________________
Blog de humor http://elcuasatar.net63.net/

Etiquetas: formulario, html, mysql, registro, sql
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 20:40.