Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/09/2011, 15:46
equality_211085
 
Fecha de Ingreso: septiembre-2009
Ubicación: Managua
Mensajes: 128
Antigüedad: 14 años, 7 meses
Puntos: 5
Pregunta ERROR: unterminated quoted string at or near

Hola a todos en foros del web

Recurro a ustedes nuevamente.
Estoy usando CKEditor con php y postgresql pero al intentar modificar el contenido que proviene del CKEditor me lanza los siguientes mensajes de error, de pronto me echan una manito con esto para buscar la solución. Tengo php 5.3.0 e intente usar ereg_replace pero ya esta descartada en esta versión. Es decir me guarda el registro pero luego cuando intento hacer el update me da error

Mi cadena a modificar es esta

Cita:
<p> Cinco personas fallecieron este viernes al estrellarse la avioneta en la que viajaban en el estado occidental de Cojedes. Una ni&ntilde;a result&oacute; ilesa, informaron las autoridades venezolanas.</p>

<p> El director de Protecci&oacute;n Civil del estado Cojedes, Amilcar Mercado, dijo al canal de noticias Globovisi&oacute;n que la aeronave tipo PN68 se estrell&oacute; en horas de la tarde en los linderos de una finca del municipio Lima Blanco de esa localidad.</p>

<p> Indic&oacute; que fueron hallados los cad&aacute;veres de cinco adultos, dos hombres y tres mujeres. Aparentemente todos eran miembros de una familia.</p>

<p> La &uacute;nica sobreviviente fue una ni&ntilde;a de 10 a&ntilde;os, quien result&oacute; ilesa. M&eacute;dicos de un hospital cercano, en la capital estatal de San Carlos, se&ntilde;alaron que la ni&ntilde;a se encuentra en buen estado, agreg&oacute; Mercado.</p>

<p> De acuerdo con las investigaciones iniciales, la avioneta parti&oacute; del aeropuerto Internacional Santiago Mari&ntilde;o de la isla caribe&ntilde;a de Margarita, rumbo a un aeropuerto en la localidad de los Valles del Tuy, ubicado a unos 30 kil&oacute;metros al sureste de Caracas.</p>

<p> Por causas desconocidas la aeronave no lleg&oacute; a su destino en las cercan&iacute;as de Caracas, &quot;sigui&oacute; de largo y se desvi&oacute; a Cojedes&quot;. Trabajadores de la finca reportaron el accidente, confirm&oacute; el socorrista.</p>
Los errores que me lanza al intentar modificar son estos

Cita:
Warning: pg_query() [function.pg-query]: Query failed: ERROR: unterminated quoted string at or near "'&lt;p&gt; Cinco personas fallecieron este viernes al estrellarse la avioneta en la que viajaban en el estado occidental de Cojedes. Una ni&amp;ntilde;a result&amp;oacute; ilesa WHERE idarticulo = 5" LINE 1: UPDATE articulo SET texto = '&lt;p&gt; ^ in /home/biolatin/public_html/soluciones-dinamicas.com/admin/common/db.php on line 65

Warning: pg_query() [function.pg-query]: Query failed: ERROR: syntax error at or near "las" LINE 1: UPDATE articulo SET idarticulo = informaron las autoridades... ^ in /home/biolatin/public_html/soluciones-dinamicas.com/admin/common/db.php on line 65

Warning: pg_query() [function.pg-query]: Query failed: ERROR: syntax error at or near "Mercado" LINE 1: UPDATE articulo SET idseccion = Amilcar Mercado WHERE idart... ^ in /home/biolatin/public_html/soluciones-dinamicas.com/admin/common/db.php on line 65
Mi funcion para modificar es esta

Cita:

if ($_POST) { // si he dado sumit al form
$valores = "'";
// recorro los nombres de los campos del formulario que son iguales a los de mis columnas en mi bd y los junto en cadena separados por coma, lo mismo con los valores
foreach ($_POST as $key => $value) { // recorro los campos del formulario
$campos .= $key . ','; // tomo los nombres de los campos
$valores .= $value . "','"; // su correspondientes valores
}

// Elimino las comas extras que quedan al final de cada cadena
$campos = substr($campos, 0, -1);
$valores = substr($valores, 0, -2);

if ( $modificar===false ){ // aqui valido si es un registro modificado, en caso de ser falso lo mando a insertar
addRegister('articulo', $campos, $valores);
echo "Articulo agregado - <a href='edit-articulo.php'>&Aacute;rticulos</a>";
} else { // en caso contrario lo mando a modificar
// Hago la llamada a la funcion que modifica el registro y hago una redireccion a otra pagina con el header
updateRegister('articulo', $campos, $valores, $_REQUEST['idarticulo']);
header("Location: edit-articulo.php");
}
}


function updateRegister ($table, $fields, $values, $id) {
$odbc = connect();
$array_fields = explode(",", $fields); // creo un array de valores y campos
$array_values = explode(",", $values);

// Actualizo cada registro individualmente segun el indice del arreglo
for ($i=0; $i < count($array_fields); $i++) {
$result = pg_query("UPDATE $table SET $array_fields[$i] = $array_values[$i] WHERE id" . $table . " = " . $id);
}
if (!$result) {
echo 'Hubo un error';
exit();
}
}
Espero su valiosa ayuda, me urge