Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Actualizar registro en MS SQL & PHP (noob question)

Estas en el tema de Actualizar registro en MS SQL & PHP (noob question) en el foro de Bases de Datos General en Foros del Web. HOLA! estoy empezando en esto y tengo un codigo de este estilo, en 2 archivos, el primero(actualizar.php): <div align="center"> <h1>Actualizar un registro</h1> <br> <? //Conexion ...
  #1 (permalink)  
Antiguo 07/03/2005, 09:40
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 19 años, 2 meses
Puntos: 0
Información Actualizar registro en MS SQL & PHP (noob question)

HOLA!
estoy empezando en esto y tengo un codigo de este estilo, en 2 archivos, el primero(actualizar.php):

<div align="center">
<h1>Actualizar un registro</h1>
<br>
<?
//Conexion con la base
mssql_connect("server","user","pass");

echo '<FORM METHOD="POST" ACTION="actualizaracc.php">Enunciat<br>';

//Creamos la sentencia SQL y la ejecutamos
$sSQL="Select nombre From ENQ_Preguntes Order By Enunciat";
$dades=mssql_query("ejemplo",$sSQL); //******************

echo '<select name="Enunciat">';

//Generamos el menu desplegable
while ($row=mssql_fetch_array($dades))
{echo '<option>'.$row["Enunciat"];}
?>
</select>
<br>
Tipus Pregunta<br>
<INPUT TYPE="TEXT" NAME="TipusPreg"><br>
<INPUT TYPE="SUBMIT" value="Actualizar">
</FORM>
</div>
</BODY>

y el segundo(actualizaracc.php):

<BODY>
<?
//Conexion con la base
mssql_connect("server","user","pass");

//Creamos la sentencia SQL y la ejecutamos
$sSQL="Update Clientes Set TipusPreg='$TipusPreg' Where Enunciat='$Enunciat'";
mssql_query("ejemplo",$sSQL); //*******************
?>

<h1><div align="center">Registro Actualizado</div></h1>
<div align="center"><a href="seleccionar.php">Visualizar el contenido de la base</a></div>

</BODY>


las lineas con los asteriscos son las que m dan error, esta basado en un tutorial de php y MYSQL, y en este usaba la funcion mssql_db_query en lugar de mssql_query, pero como en MSSQL no existe, pues he usado esta, peor me da error:

Warning: mssql_query(): supplied argument is not a valid MS SQL-Link resource in c:\inetpub\wwwroot\actualizar.php on line 17

Si alguien sabe como puedo solucionarlo, o sabe otra forma de actualizarlo .. se lo agradeceria mucho!!!!

Última edición por Pazosele; 07/03/2005 a las 10:22 Razón: añado informacion
  #2 (permalink)  
Antiguo 13/03/2005, 18:37
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 19 años, 2 meses
Puntos: 0
Nadie sabe por donde cojerlo???
  #3 (permalink)  
Antiguo 13/03/2005, 19:53
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 6 meses
Puntos: 34
Cita:
Editado por nicolaspar, quién no volvera a postear en este foro por consecuencias de la mala moderación de BrujoNic
__________________
Mi punto de partida es Que Bueno Lo Nuevo

Última edición por nicolaspar; 26/08/2007 a las 11:10
  #4 (permalink)  
Antiguo 14/03/2005, 14:44
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 19 años, 2 meses
Puntos: 0
lo provare al acto!

lo provare al acto!
gracias de antemano!
(Y ojala funcione!)
  #5 (permalink)  
Antiguo 23/03/2005, 12:21
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 19 años, 2 meses
Puntos: 0
Avanzamos y frenamos

Ha funcionado
pero ahora encuentro otra cosa relacionada...

Notice: Undefined variable: TipusPreg in c:\inetpub\wwwroot\actualizaracc.php on line 12


os pego el codigo nuevo y indico con ********* la linea que da el error:



<TITLE>Actualizar</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Actualizar un registro</h1>
<br>
<?
//Conexion con la base
include("conectarse.phtml");
$servidor=Conectarse();

echo '<FORM METHOD="POST" ACTION="actualizaracc.php">Enunciat<br>';

//Creamos la sentencia SQL y la ejecutamos
$sSQL="Select Enunciat From ENQ_Preguntes Order By Enunciat";
$dades=mssql_query($sSQL,$servidor);

echo '<select name="Enunciat">';

//Generamos el menu desplegable
while ($row=mssql_fetch_array($dades))
{echo '<option>'.$row["Enunciat"];}
?>
</select>
<br>
Tipus Pregunta<br>
<INPUT TYPE="TEXT" NAME="TipusPreg"><br>
<INPUT TYPE="SUBMIT" value="Actualizar">
</FORM>






<TITLE>actualizar2.php</TITLE>
</HEAD>
<BODY>
<?
//Conexion con la base
include("conectarse.phtml");
$servidor=Conectarse();

//Creamos la sentencia SQL y la ejecutamos
$sSQL="Update ENQ_Preguntes Set TipusPreg='$TipusPreg' Where Enunciat='Enunciat'"; *******************AQUI DA ERROR
$dades=mssql_query($sSQL,$servidor);
?>

<h1><div align="center">Registro Actualizado</div></h1>
<div align="center"><a href="seleccionar.php">Visualizar el contenido de la base</a></div>


no reconoce las variables peorno se como hacer para conseguirlo... alguna ayudita???
  #6 (permalink)  
Antiguo 23/03/2005, 12:53
Avatar de JBalde  
Fecha de Ingreso: febrero-2005
Ubicación: Madrid
Mensajes: 118
Antigüedad: 19 años, 3 meses
Puntos: 5
Vuelve a avanzar

Si no me equivoco, creo que el error es la variable. Tu estas mandando la variable de un cuadro de texto por un formulario a actualizar2.php y es ahi donde te da el fallo. Te dice que la variable no existe en ese archivo. Es logico, por seguridad en php.ini register global viene por defecto en OFF, para tener algo de seguridad y que esto siga siendo asi, lo que deberias de hacer en tu sentencia SQL es, en lugar de poner:

Update ENQ_Preguntes Set TipusPreg='$TipusPreg' Where Enunciat='Enunciat'

Pon esto

Update ENQ_Preguntes Set TipusPreg='$_POST[TipusPreg]' Where Enunciat='Enunciat'

Si tienes el register_global=ON como tu lo tienes puesto deberia de funcionar, pero para hacerlo bien debes de poner o $_POST[variable] o $HTTP_POST_VARS[Variable], recuerda que debes de respetar las mayusculas y minusculas que usaste como nombre en tu formulario, porque sino, no funcionara correctamete.

Si necesitas mas ayuda, no dudes en preguntar en www.forodetodo.es.mw. Si es spam que me lo digan y lo quito
  #7 (permalink)  
Antiguo 23/03/2005, 16:54
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 19 años, 2 meses
Puntos: 0
Busqueda Gracias pero..

funciona, ya no me da errores, pero los datos no se actualizan..

no se por que no coje los datos, o no se reflejan en la tabla



si teneis algun aidea del por que.. bienvenida sera!!

Y muchas gracias por tu tiempo !!!
  #8 (permalink)  
Antiguo 23/03/2005, 18:33
Avatar de JBalde  
Fecha de Ingreso: febrero-2005
Ubicación: Madrid
Mensajes: 118
Antigüedad: 19 años, 3 meses
Puntos: 5
No actualiza

Si ya no te da errores es que todo ha ido correctamente, es decir, tu codigo de PHP en tus paginas es completamente correcto. Probablemente el fallo este en el UPDATE, fijate en las tablas y que se cumpla el WHERE, porque lo mas seguro es que el fallo este ahi. Lo que ha podido pasar, aunque no se como son tus tables, es que cuando haces el WHERE Enunciat='Enunciat' no tengas dentro de la tabla que quieres actualizar ningun valor que sea Enunciat para el campo Enunciat, no se si me explico bien. En el campo Enunciat no tienes ningun valor que sea Enuciat, sino que tiene otros, por eso puede que no te actualice. Por otro lado, si el Enunciat del UPDATE es elegido en el menu desplegable del formulario y lo envias con el, tendrias que poner esto en la clausula WHERE:
WHERE Enunciat='$_POST[Enunciat]'
Puede ser debido a eso, prueba con esto y me dices si funciona ahora o no, es que se me habia pasado.

Espero haberte servido de ayuda. Si necesitas hacer cualquier consulta sobre algo relacionado con la informatica, estare encantado de contestarte si puedo en www.forodetodo.es.mw

Última edición por JBalde; 23/03/2005 a las 18:37
  #9 (permalink)  
Antiguo 24/03/2005, 06:03
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 19 años, 2 meses
Puntos: 0
Perfecto!!!

Muchas gracias macho!!!
Funciona perfecto!


Un Saludo!
  #10 (permalink)  
Antiguo 12/11/2009, 14:30
 
Fecha de Ingreso: noviembre-2009
Mensajes: 1
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Actualizar registro en MS SQL & PHP (noob question)

Hola: JBalde escribo a este tema pues me gusta aprender el manejo de base de datos, tengo un codigo update que estoy desarrollando en el cual me muestra el registro de una tabla llamada prueba, pero no logro actualizar el registro.
Es el siguiente:

<?php

// coneccion al servidor de bases de datos
$dbh=mysql_connect ("localhost", "root", "") or die ('problema conectando porque :' . mysql_error());
// seleccionado la base de datos
mysql_select_db ("sergio",$dbh);

if (isset($_POST['OK']))
{ //si es que dió click en el botón "OK"
// preparando la instruccion sql

// ejecutando el query select regresa un rowset
$prueba = mysql_query("select * from prueba where nombre= '".$_POST['nombre']."' AND apellido= '".$_POST['apellido']."'", $dbh) or die ("problema con query".mysql_error()) ;
// regresando renglon con registro
$reg = mysql_fetch_array($prueba);
// construyendo forma dinamica
echo "<form action=".$_SERVER['PHP_SELF']." method=post>";
// recordar que strings se encadenan con .
echo "Nombre:<INPUT TYPE=text NAME=nombre value= \"".$reg['nombre']."\"><BR>";
echo "Apellido:<INPUT TYPE=text NAME=apellido value= \"".$reg['apellido']."\"><BR>";
echo "E-mail:<INPUT TYPE=text NAME=e_mail value= \"".$reg['e_mail']."\"><BR>";
echo "<INPUT TYPE=submit NAME=OK2 VALUE=editar><BR>";
echo "</FORM>";
}

if (isset($_POST['OK2']))
{
// preparando la instruccion sql

// ejecutando el query
$q =mysql_query("UPDATE prueba set nombre='".$_POST['nombre']."', apellido='".$_POST['apellido']."', e_mail='".$_POST['e_mail']."' where nombre='".$_POST['nombre']."' AND apellido= '".$_POST['apellido']."' AND e_mail='".$_POST['e_mail']."'", $dbh) or die ("problema con query1".mysql_error()) ;

// avisando
echo "REGISTRO EDITADO";
};
?>

<html>
<body>
<form action="<?php echo $_SERVER['../../PHP_SELF'];?>" method="post">
DAME CLAVE A EDITAR:
<input type="text" name="nombre"/><br/>
<input type="text" name="apellido"/><br/>
<input type=submit name="OK" VALUE="BUSCAR"/><br/>
</form>

Pienso que no estoy realizando bien el where.

Mi tabla se llama -- prueba, los campos son, nombre, apellido, e_mail

Alguna ayuda la agradecere de corazon.... xergiowarrobhotm
  #11 (permalink)  
Antiguo 12/11/2009, 14:59
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Actualizar registro en MS SQL & PHP (noob question)

Coqueto8:
No revivas post muertos. Este post tiene cinco años, ¡Cinco!
¿Crees por ventura que el tema les sigue interesando después de tanto?
Además, uno de ellos no se conecta desde hace cuatro años y el otro desde hace tres. Es obvio que no te van a contestar.
Por regla del foro, los moderadores cancelan los temas revividos después de mucho tiempo.
Si tienes una pregunta para hacer, abre un thread nuevo, postea tu pregunta.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:28.