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:
Los errores que me lanza al intentar modificar son estos <p> Cinco personas fallecieron este viernes al estrellarse la avioneta en la que viajaban en el estado occidental de Cojedes. Una niña resultó ilesa, informaron las autoridades venezolanas.</p>
<p> El director de Protección Civil del estado Cojedes, Amilcar Mercado, dijo al canal de noticias Globovisión que la aeronave tipo PN68 se estrelló en horas de la tarde en los linderos de una finca del municipio Lima Blanco de esa localidad.</p>
<p> Indicó que fueron hallados los cadáveres de cinco adultos, dos hombres y tres mujeres. Aparentemente todos eran miembros de una familia.</p>
<p> La única sobreviviente fue una niña de 10 años, quien resultó ilesa. Médicos de un hospital cercano, en la capital estatal de San Carlos, señalaron que la niña se encuentra en buen estado, agregó Mercado.</p>
<p> De acuerdo con las investigaciones iniciales, la avioneta partió del aeropuerto Internacional Santiago Mariño de la isla caribeña de Margarita, rumbo a un aeropuerto en la localidad de los Valles del Tuy, ubicado a unos 30 kilómetros al sureste de Caracas.</p>
<p> Por causas desconocidas la aeronave no llegó a su destino en las cercanías de Caracas, "siguió de largo y se desvió a Cojedes". Trabajadores de la finca reportaron el accidente, confirmó el socorrista.</p>
<p> El director de Protección Civil del estado Cojedes, Amilcar Mercado, dijo al canal de noticias Globovisión que la aeronave tipo PN68 se estrelló en horas de la tarde en los linderos de una finca del municipio Lima Blanco de esa localidad.</p>
<p> Indicó que fueron hallados los cadáveres de cinco adultos, dos hombres y tres mujeres. Aparentemente todos eran miembros de una familia.</p>
<p> La única sobreviviente fue una niña de 10 años, quien resultó ilesa. Médicos de un hospital cercano, en la capital estatal de San Carlos, señalaron que la niña se encuentra en buen estado, agregó Mercado.</p>
<p> De acuerdo con las investigaciones iniciales, la avioneta partió del aeropuerto Internacional Santiago Mariño de la isla caribeña de Margarita, rumbo a un aeropuerto en la localidad de los Valles del Tuy, ubicado a unos 30 kilómetros al sureste de Caracas.</p>
<p> Por causas desconocidas la aeronave no llegó a su destino en las cercanías de Caracas, "siguió de largo y se desvió a Cojedes". Trabajadores de la finca reportaron el accidente, confirmó el socorrista.</p>
Cita:
Mi funcion para modificar es estaWarning: pg_query() [function.pg-query]: Query failed: ERROR: unterminated quoted string at or near "'<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 WHERE idarticulo = 5" LINE 1: UPDATE articulo SET texto = '<p> ^ 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
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
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'>Á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 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'>Á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();
}
}