Foros del Web » Programando para Internet » PHP »

Problema al insertar datos a mysql

Estas en el tema de Problema al insertar datos a mysql en el foro de PHP en Foros del Web. Saludos. Empezando con esto de php, estoy probando la conexion a mysql. Primero hice el codigo para ingresar a mysql : Código: <?php $con = ...
  #1 (permalink)  
Antiguo 11/11/2010, 21:07
 
Fecha de Ingreso: julio-2009
Mensajes: 55
Antigüedad: 14 años, 9 meses
Puntos: 0
Pregunta Problema al insertar datos a mysql

Saludos.
Empezando con esto de php, estoy probando la conexion a mysql.

Primero hice el codigo para ingresar a mysql :

Código:
<?php

$con = mysql_connect("localhost","root","");
mysql_select_db("clientes",$con);
?>

En un archivo llamado agregar.html tengo un formulario con dos campos: Nombre , proximacita(proximacita es cadena de caracteres, lo puse asi , solo para probar mysql)

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<form action="añadiendo.php" method="post">
<p><input name="nombre" type="text" id="nombre" value="nombre del paciente" /></p>
<p><input name="proximacita" type="text" id="proximacita" value="Proxima cita" /></p>
<p><input name="registrar" type="Submit" value="enviar" /></p>
</form>
</body>
</html>

Y este debe de insertar por medio de el archivo añadiendo.php:

Código:
<?php
include("conectando.php");

	if(mysql_connect("clientes",$con)){
	$insertando = "insert into dentista values ('".$_POST[nombre]."','".$_POST[proximacita]."')";
		if(mysql_query($insertando,$con)){
		header("Location:final.html");
		}
		else{
		echo mysql_error($con);
		}
	}
	else{
	echo mysql_error($con);
	}

?>
Una vez hecho esto, se supone que debe de finalizar y redireccionar a una pagina con un aviso.
El problema es que cuando lo ejecuto, y lleno el formulario, me aparece el sig error:

Warning: mysql_connect() expects parameter 2 to be string, resource given in /opt/lampp/htdocs/xampp/testing/añadiendo.php on line 4

Alguien sabe a que se debe?
  #2 (permalink)  
Antiguo 11/11/2010, 21:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al insertar datos a mysql

definitivamente esta comparación es innecesaria:
Código PHP:
if(mysql_connect("clientes",$con)){ 
se supone que ya hacías la conexión previamente, ¿porque la vuelves a hacer, y además mal?

por favor lee el manual:
http://php.net/mysql_connect
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 11/11/2010, 22:48
 
Fecha de Ingreso: julio-2009
Mensajes: 55
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema al insertar datos a mysql

Cita:
Iniciado por pateketrueke Ver Mensaje
definitivamente esta comparación es innecesaria:
Código PHP:
if(mysql_connect("clientes",$con)){ 
se supone que ya hacías la conexión previamente, ¿porque la vuelves a hacer, y además mal?

por favor lee el manual:
http://php.net/mysql_connect
Gracias patekertrueke por el enlace, no resolvia mi duda,pero gracias, he checado el enlace. La sentencia que esta mal, la copie de un videotutorial de youtube, anteriormente me funciono y supuse que lo haria igual, pero no.

Lo solucione, mi error, ( y aun no comprendo del todo ) es que yo tenia 3 tablas ya hechas:

-nombre (string indice)
-edad (int)
-proximacita (string)

Y en el formulario,solo puse 2 campos, nombre y proximacita. Cuando lo ejecutaba, me marcaba el error que mencione antes; elimine la tabla innecesaria por ahora, "edad", y funciono.

¿Alguien sabe por que paso esto? (pregunta de novato , lo se), a lo que yo entendi por ahora, es que creo yo, debe de tener orden:

camposdeformulario camposdemysql
1.-nombre 1.- nombre
2.-proximacita 2.-edad
3.-proximacita

Es por eso que cuando lo ejecutaba, me decia que se esperaban 2 campos string, supongo que los relaciona dependiendo del indice que tenga la tabla y los campos del formulario (yo pense que solamente se necesitaba el nombre del campo, para acceder al campo de la tabla correspondiente ).

¿Es verdad lo que estoy entendiendo? o estoy pasando algo por alto.
  #4 (permalink)  
Antiguo 11/11/2010, 23:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al insertar datos a mysql

sería bueno que mostraras el código final que obtuviste, así le sirve de ejemplo a alguien mas... (:

de lo demás en realidad ya no corresponde al foro de php, es mas un tema de sintaxis SQL...

si especificas las columnas a insertar deben ser ingresados el mismo numero valores...
Cita:
INSERT INTO tabla(col1, col2) VALUES('foo', 'bar')
en caso de no especificar, el motor de la base de datos intentara ingresar los datos conforme el orden de las columnas en la estructura de la tabla...
Cita:
INSERT INTO tabla VALUES('foo', 'bar')
el segundo caso es poco recomendable de usar, pues se asume siempre que se ingresarán todos los valores necesarios en orden...

la primer forma siempre será mas flexible y precisa, pues solo inserta los campos y valores especificados...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: 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 09:40.