Programación php
Email: Password:


¡Regístrate gratis! | ¿Has perdido tu password?

Home
Blog

En él que podrás informarte de todas las noticias relacionadas con el posicionamiento de páginas web.

Ir al Blog de posicionamiento web



Foro de programación en PHP

Responder el mensaje

Consulta sql

Autor: rocio
Publicado: 25-3-2011 07:27 AM
Hola, quiero realizar una consulta update. Mi codigo es el siguiente

$sqlIns="UPDATE tablaContactos SET ";

for($i=0;$i<=count($row);$i++) {



$sqlIns2.="campo".$i."=".$sqlIns3."'".$row[$i]."'".",";



/*if($i<=count($row)) {
$sqlIns2.="=";.$sqlIns3;}
*/


//$sqlIns2.="campo".$i."=".$sqlIns3."'".$row[$i]."'";

}




$sqlIns.=$sqlIns2." where campo0=$row[id]";
//$sqlIns.=$sqlIns2.=$sqlIns3." where campo0=$row[id]";

$query=mssql_query($sqlIns);
echo $sqlIns;

unset($sqlIns2);
unset($sqlIns3);



}


El asunto es que por pantalla me aparece lo siguiente:

Warning: mssql_query(): message: Incorrect syntax near the keyword 'where'. (severity 15) in /var/www/limesurvey/util/aa.php on line 57 Warning: mssql_query(): General SQL Server error: Check messages from the SQL Server (severity 15) in /var/www/limesurvey/util/aa.php on line 57 Warning: mssql_query(): Query failed in /var/www/limesurvey/util/aa.php on line 57 UPDATE tablaContactos SET campo0='20',campo1='1980-01-01 00:00:00',campo2='2',campo3='es',campo4='89',campo5='',campo6='',campo7='',campo8='',campo9='', where campo0=20Ya han sido guardadas sus respuestas. Ya puede salir Gracias.


Justo delante del where aparece una coma que no quiero que aparezca,porque si no la sentencia sql no es correcta¿ALGUIEN ME PUEDE DECIR COMO QUITARLA?

Muchas gracias
Autor: lol32
Publicado: 26-3-2011 08:21 AM
$sqlIns="UPDATE tablaContactos SET ";

for($i=0;$i<=count($row);$i++) {



$sqlIns2.="campo".$i."=".$sqlIns3."'".$row[$i]."'".",";



/*if($i<=count($row)) {
$sqlIns2.="=";.$sqlIns3;}
*/


//$sqlIns2.="campo".$i."=".$sqlIns3."'".$row[$i]."'";

}




$sqlIns2.=$sqlIns." where campo0=$row[id]";
//$sqlIns.=$sqlIns2.=$sqlIns3." where campo0=$row[id]";

$query=mssql_query($sqlIns);
echo $sqlIns;

unset($sqlIns2);
unset($sqlIns3);



}


El codigo está bastante mal y algo lioso, pero tenias mal una linea.
Autor: Gendo
Publicado: 27-3-2011 07:28 PM
<?

$sqlIns = "UPDATE tablaContactos SET ";
$sqlIns2 = ""; #TENES QUE INICIALIZAR LA VARIBLE SI VAS A HACER UN CONCAT

for($i=count($row);$i--;) { #ASI QUEDA MAS LINDA...
$sqlIns2.= "campo".$i."=".$sqlIns3."'".$row[$i]."',";
}

$sqlIns.= $sqlIns2." where campo0=$row[id]";
//$sqlIns.=$sqlIns2.=$sqlIns3." where campo0=$row[id]";

$query=mssql_query($sqlIns);
echo $sqlIns;

}

?>