Necesito eliminar el carácter (") de una columna en mi base de datos. Puedo hacerlo en la línea de comando de mysql con el siguiente comando:

mysql> UPDATE tName SET colName=REPLACE(colName, '"','');

Y funciona perfectamente. Como necesito ejecutar en php, he usado la siguiente sintaxis en php pero no funciona:

$sql0 = "UPDATE tName SET colName=REPLACE(colName,'"','')";
if (mysqli_query($conn, $sql0)) {
$result0 = "Unwanted Character is removed ";
} else {
$result0 = "Error Filtering is Failed: " . $sql . "<br>" .       mysqli_error($conn);
}

¿¿alguna idea??

1
Ebi Nadian 28 ene. 2016 a las 13:01

3 respuestas

La mejor respuesta

Debe escapar de las comillas dobles dentro de las cadenas entre comillas dobles.

$sql0 = "UPDATE tName SET colName=REPLACE(colName,'\"','')";
if (mysqli_query($conn, $sql0)) {
  $result0 = "Unwanted Character is removed ";
} else {
  $result0 = "Error Filtering is Failed: " . $sql . "<br>" . mysqli_error($conn);
}
2
Franz Gleichmann 28 ene. 2016 a las 10:05

Puede usar comillas en la función REEMPLAZAR como:

$one = '"';
$sql0 = "UPDATE tName SET colName = REPLACE(colName,'$one','')";

Si se hace eco de $sql0, el resultado es:

UPDATE tName SET colName = REPLACE(colName,'"','')
1
devpro 28 ene. 2016 a las 10:07

Prueba este en su lugar:

$sql0 = "UPDATE tName SET colName=REPLACE(colName,'\"','')";

Observe que hay una barra invertida :)

3
Budianto IP 28 ene. 2016 a las 10:05