usar update directamente sobre la base de datos

Hola a todos, estoy haciendo una aplicacion en php que funciona independiente a suitecrm, pero existe un momento donde necesito escribir en un campo, en una tabla especifica dentro de suitecrm, pero no me deja, porque???

la tabla que estoy intentando actualizar es “aos_invoices_cstm” y lo estoy intentando hacer con esta instrucción

<?php include("conexion.php"); //aqui hago las conexiones al suitecrm $sql = "UPDATE aos_invoices_cstm SET nit_c='aqui inserto mi dato' WHERE id_c='8322cbf3-3416-121e-7b78-5580e6124a81'"; ?>

cabe la pena aclarar que el campo “nit_c” lo cree desde suitecrm y el dato del “id_c” tambien existe, ya valide las conexiones y todas funcionan, de hecho uso esos datos para hacer consultas y fuciona muy bien.

Por favor ayudemen con el error!!

Me respondo a mi mismo.

El punto es que las tablas en mysql, tienen caracteres reservados al sistema, uno de ellos es el apostrofe (’) por lo tanto si tu ingresas un dato como m’ac o alberto’s, el sistema no lo graba, esto afecta no sólo la instrución “update”, sino también la función “into”, por lo tanto para decirle a mysql, que ese caracter no hace parte del sistema se debe anteponer la siguiente instrucción, “mysql_real_escape_string”, les dejo un ejemplo para que lo comprendan mejor:

dato a insertar
$nombre = “alberto`s”;

se debe dejar asi
$nombre = “alberto`s”;
$nombre = mysql_real_escape_string($nombre);

y listo, ya funciona para actualizar o grabar un nuevo dato en mysql.

Nota: también pueden usar addslashes() en ves de mysql_real_escape_string(), el punto es que el primero, a veces genera null, por lo tanto les aconsejo usar mysql_real_escape_string().

por ultimo suitecrm o sugarcrm no impide que se escriban en sus tablas, eso si toca toner mucho cuidado, o pueden generar un conflicto en el sistema . buena suerte!! :slight_smile:

Hola, lo recomendable es usar por ejemplo la API REST

Saludos