{"id":2582,"date":"2012-05-05T18:54:57","date_gmt":"2012-05-05T18:54:57","guid":{"rendered":"https:\/\/www.jose-aguilar.com\/blog\/?p=2582"},"modified":"2019-09-05T10:38:31","modified_gmt":"2019-09-05T10:38:31","slug":"como-trabajar-con-la-base-de-datos-de-prestashop","status":"publish","type":"post","link":"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/","title":{"rendered":"Como trabajar con la base de datos de PrestaShop"},"content":{"rendered":"<p>La mayor\u00eda de m\u00f3dulos y desarrollos en <strong>PrestaShop<\/strong> requieren que se use o ingrese informaci\u00f3n en la base de datos de la tienda.<\/p>\n<p><strong>PrestaShop<\/strong> dispone en su n\u00facleo de la clase DB que es esencial para hacer consultas, inserciones, eliminaci\u00f3n y alteraciones en la base de datos de la tienda.<\/p>\n<p>Adem\u00e1s de proporcionar abstracci\u00f3n potencial para otros tipos de bases de datos relacionales, la clase DB dispone de varias herramientas para hacer la vida m\u00e1s f\u00e1cil.<\/p>\n<p>En este art\u00edculo vas a conocer una de las mejores formas para ejecutar consultas en la base de datos de una tienda <strong>PrestaShop<\/strong>.<\/p>\n<h3>Crear nuevas tablas en la base de datos de una tienda PrestaShop<\/h3>\n<p>Muchos m\u00f3dulos o desarrollos espec\u00edficos necesitan crear nuevas tablas en la base de datos de la tienda para guardar la informaci\u00f3n que manejan.<\/p>\n<p>En el m\u00e9todo install() de un m\u00f3dulo es habitual crear nuevas tablas. Una forma de hacerlo f\u00e1cil ser\u00eda, por ejemplo, as\u00ed:<\/p>\n<div id=\"wpshdo_1\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_1\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_1\"><\/a><a id=\"wpshat_1\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_1\"  onClick=\"javascript:wpsh_toggleBlock(1)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_1\" onClick=\"javascript:wpsh_code(1)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_1\" onClick=\"javascript:wpsh_print(1)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_1\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\">Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">Execute<\/span><span class=\"br0\">&#40;<\/span>\n    <span class=\"st_h\">'CREATE TABLE IF NOT EXISTS `'<\/span><span class=\"sy0\">.<\/span>_DB_PREFIX_<span class=\"sy0\">.<\/span><span class=\"st_h\">'item` (\n    `id_item` int(10) NOT NULL AUTO_INCREMENT ,\n    `name` varchar(128) NOT NULL ,\n    `description` text,\n    `active` int(2) unsigned NOT NULL,\n    `date_add` datetime NOT NULL,\n    `date_upd` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n    PRIMARY KEY (`id_item`)\n    ) ENGINE = InnoDB DEFAULT CHARSET=utf8;'<\/span>\n<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/pre><\/div><\/div>\n<p>Este c\u00f3digo ejecutado en un entorno <strong>PHP<\/strong> crea una tabla llamada \u00abitem\u00bb que contiene un identificador, un nombre, una descripci\u00f3n, un estado boleano, una fecha de creaci\u00f3n y una fecha de actualizaci\u00f3n. El identificador es la clave primaria.<\/p>\n<h3>Alterar tablas existentes en la base de datos<\/h3>\n<p>En algunos casos, quiz\u00e1 la idea de tu m\u00f3dulo no es crear una tabla, sino, alterar un campo existente agregando alg\u00fan valor. Lo puedes hacer as\u00ed:<\/p>\n<div id=\"wpshdo_2\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_2\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_2\"><\/a><a id=\"wpshat_2\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_2\"  onClick=\"javascript:wpsh_toggleBlock(2)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_2\" onClick=\"javascript:wpsh_code(2)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_2\" onClick=\"javascript:wpsh_print(2)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_2\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\">Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">Execute<\/span><span class=\"br0\">&#40;<\/span>\n    <span class=\"st_h\">'ALTER TABLE '<\/span><span class=\"sy0\">.<\/span>_DB_PREFIX_<span class=\"sy0\">.<\/span><span class=\"st_h\">'item ADD featured int(1) NOT NULL'<\/span>\n<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/pre><\/div><\/div>\n<p>En este caso particular, estoy agregando un nuevo campo llamado \u00abfeatured\u00bb que ser\u00e1 un boleano en la tabla de elementos. Se podr\u00eda utilizar para destacar elementos, por ejemplo.<\/p>\n<h3>Actualizar campos existentes en una tabla de la base de datos<\/h3>\n<p>Quiz\u00e1s lo que est\u00e1s buscando es hacer una actualizaci\u00f3n de alg\u00fan campo en alguna tabla ya existente en la base de datos. Esto lo puedes hacer as\u00ed:<\/p>\n<div id=\"wpshdo_3\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_3\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_3\"><\/a><a id=\"wpshat_3\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_3\"  onClick=\"javascript:wpsh_toggleBlock(3)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_3\" onClick=\"javascript:wpsh_code(3)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_3\" onClick=\"javascript:wpsh_print(3)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_3\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\">Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">Execute<\/span><span class=\"br0\">&#40;<\/span>\n    <span class=\"st_h\">'UPDATE '<\/span><span class=\"sy0\">.<\/span>_DB_PREFIX_<span class=\"sy0\">.<\/span><span class=\"st_h\">'item SET active=1 WHERE id_item = 8'<\/span>\n<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/pre><\/div><\/div>\n<p>En el c\u00f3digo anterior estoy actualizando el registro \u00abactive\u00bb estableci\u00e9ndolo en 1 para el elemento con identificador 8.<\/p>\n<p>Esta es una actualizaci\u00f3n con condici\u00f3n para que puedas ver algunas de las posibilidades que ofrece <strong>SQL<\/strong>.<\/p>\n<h3>Eliminar una tabla de la base de datos<\/h3>\n<p>En el proceso de desinstalaci\u00f3n o dentro de la funci\u00f3n <em>unninstall()<\/em> de un m\u00f3dulo es muy posible que est\u00e9s interesado en saber como eliminar una tabla de la base de datos. En este caso, tan solo debes ejecutar algo como lo que sigue:<\/p>\n<div id=\"wpshdo_4\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_4\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_4\"><\/a><a id=\"wpshat_4\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_4\"  onClick=\"javascript:wpsh_toggleBlock(4)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_4\" onClick=\"javascript:wpsh_code(4)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_4\" onClick=\"javascript:wpsh_print(4)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_4\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\">Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">Execute<\/span><span class=\"br0\">&#40;<\/span>\n    <span class=\"st_h\">'DROP TABLE '<\/span><span class=\"sy0\">.<\/span>_DB_PREFIX_<span class=\"sy0\">.<\/span><span class=\"st_h\">'item'<\/span>\n<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/pre><\/div><\/div>\n<p>Esta llamada elimina la tabla \u00abitem\u00bb de la base de datos por completo y sin dejar rastro.<\/p>\n<h3>Eliminar registros de una tabla de la base de datos<\/h3>\n<p>Si quieres eliminar los registros manteniendo el \u00edndice puedes ejecutar:<\/p>\n<div id=\"wpshdo_5\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_5\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_5\"><\/a><a id=\"wpshat_5\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_5\"  onClick=\"javascript:wpsh_toggleBlock(5)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_5\" onClick=\"javascript:wpsh_code(5)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_5\" onClick=\"javascript:wpsh_print(5)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_5\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\">Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">Execute<\/span><span class=\"br0\">&#40;<\/span>\n    <span class=\"st_h\">'DELETE FROM '<\/span><span class=\"sy0\">.<\/span>_DB_PREFIX_<span class=\"sy0\">.<\/span><span class=\"st_h\">'item'<\/span>\n<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/pre><\/div><\/div>\n<p>Para eliminar un registro en concreto puedes hacer una eliminaci\u00f3n condicionada como lo siguiente:<\/p>\n<div id=\"wpshdo_6\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_6\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_6\"><\/a><a id=\"wpshat_6\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_6\"  onClick=\"javascript:wpsh_toggleBlock(6)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_6\" onClick=\"javascript:wpsh_code(6)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_6\" onClick=\"javascript:wpsh_print(6)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_6\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\">Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">Execute<\/span><span class=\"br0\">&#40;<\/span>\n    <span class=\"st_h\">'DELETE FROM '<\/span><span class=\"sy0\">.<\/span>_DB_PREFIX_<span class=\"sy0\">.<\/span><span class=\"st_h\">'item \n    WHERE id_item = 8'<\/span>\n<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/pre><\/div><\/div>\n<h3>Vaciar los datos de una tabla de la base de datos<\/h3>\n<p>Para vaciar los datos de una tabla y reiniciar los \u00edndices puedes hacer un Truncate:<\/p>\n<div id=\"wpshdo_7\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_7\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_7\"><\/a><a id=\"wpshat_7\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_7\"  onClick=\"javascript:wpsh_toggleBlock(7)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_7\" onClick=\"javascript:wpsh_code(7)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_7\" onClick=\"javascript:wpsh_print(7)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_7\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\">Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">Execute<\/span><span class=\"br0\">&#40;<\/span>\n    <span class=\"st_h\">'TRUNCATE TABLE '<\/span><span class=\"sy0\">.<\/span>_DB_PREFIX_<span class=\"sy0\">.<\/span><span class=\"st_h\">'item'<\/span>\n<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/pre><\/div><\/div>\n<h3>Insertar datos en una tabla de la base de datos<\/h3>\n<p>De la misma forma, tambi\u00e9n se puede utilizar la funci\u00f3n Execute() para insertar datos en una tabla de la base de datos. F\u00edjate en el siguiente ejemplo:<\/p>\n<div id=\"wpshdo_8\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_8\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_8\"><\/a><a id=\"wpshat_8\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_8\"  onClick=\"javascript:wpsh_toggleBlock(8)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_8\" onClick=\"javascript:wpsh_code(8)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_8\" onClick=\"javascript:wpsh_print(8)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_8\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\">Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">Execute<\/span><span class=\"br0\">&#40;<\/span>\n    <span class=\"st_h\">'INSERT INTO '<\/span><span class=\"sy0\">.<\/span>_DB_PREFIX_<span class=\"sy0\">.<\/span><span class=\"st_h\">'item (id_item, name, active) VALUES ('<\/span><span class=\"sy0\">.<\/span><span class=\"br0\">&#40;<\/span>int<span class=\"br0\">&#41;<\/span><span class=\"re0\">$id_item<\/span><span class=\"sy0\">.<\/span><span class=\"st_h\">', &quot;'<\/span><span class=\"sy0\">.<\/span>pSQL<span class=\"br0\">&#40;<\/span><span class=\"re0\">$name<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">.<\/span><span class=\"st_h\">'&quot;, 1)'<\/span>\n<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/pre><\/div><\/div>\n<p>En este caso, estoy insertando unos datos din\u00e1micos en la tabla \u00abitem\u00bb.<\/p>\n<p>Las variables $id_item y $name tiene que estar definidas y con datos v\u00e1lidos para que esta consulta funcione correctamente.<\/p>\n<h3>Consultar un campo de una tabla en la base de datos<\/h3>\n<p>Si por ejemplo quieres recuperar el nombre de un elemento de la base de datos directamente, puedes usar la funci\u00f3n <em>getValue()<\/em>:<\/p>\n<div id=\"wpshdo_9\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_9\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_9\"><\/a><a id=\"wpshat_9\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_9\"  onClick=\"javascript:wpsh_toggleBlock(9)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_9\" onClick=\"javascript:wpsh_code(9)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_9\" onClick=\"javascript:wpsh_print(9)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_9\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\"><span class=\"re0\">$item_name<\/span> <span class=\"sy0\">=<\/span> Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">getValue<\/span><span class=\"br0\">&#40;<\/span>\n    <span class=\"st_h\">'SELECT name FROM '<\/span><span class=\"sy0\">.<\/span>_DB_PREFIX_<span class=\"sy0\">.<\/span><span class=\"st_h\">'item \n    WHERE id_item = 8'<\/span>\n<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/pre><\/div><\/div>\n<h3>Consultar una fila de una tabla en la base de datos<\/h3>\n<p>Para recuperar todos los datos de un elemento en concreto puedes usar:<\/p>\n<div id=\"wpshdo_10\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_10\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_10\"><\/a><a id=\"wpshat_10\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_10\"  onClick=\"javascript:wpsh_toggleBlock(10)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_10\" onClick=\"javascript:wpsh_code(10)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_10\" onClick=\"javascript:wpsh_print(10)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_10\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\"><span class=\"re0\">$item<\/span> <span class=\"sy0\">=<\/span> Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">getRow<\/span><span class=\"br0\">&#40;<\/span>\n    <span class=\"st_h\">'SELECT * FROM '<\/span><span class=\"sy0\">.<\/span>_DB_PREFIX_<span class=\"sy0\">.<\/span><span class=\"st_h\">'item \n    WHERE id_item = 8'<\/span>\n<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&nbsp;\n<span class=\"kw1\">echo<\/span> <span class=\"re0\">$item<\/span><span class=\"br0\">[<\/span><span class=\"st_h\">'name'<\/span><span class=\"br0\">]<\/span><span class=\"sy0\">;<\/span><\/pre><\/div><\/div>\n<p>La funci\u00f3n <em>getRow()<\/em> te retorna una fila de la tabla de la base de datos en formato array.<\/p>\n<p>Consultar todos los elementso de una tabla en la base de datos<\/p>\n<p>Para recuperar todos los elementos y sus datos puedes usar:<\/p>\n<div id=\"wpshdo_11\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_11\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_11\"><\/a><a id=\"wpshat_11\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_11\"  onClick=\"javascript:wpsh_toggleBlock(11)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_11\" onClick=\"javascript:wpsh_code(11)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_11\" onClick=\"javascript:wpsh_print(11)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_11\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\"><span class=\"re0\">$items<\/span> <span class=\"sy0\">=<\/span> Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">ExecuteS<\/span><span class=\"br0\">&#40;<\/span>\n    <span class=\"st_h\">'SELECT *\n    FROM '<\/span><span class=\"sy0\">.<\/span>_DB_PREFIX_<span class=\"sy0\">.<\/span><span class=\"st_h\">'item'<\/span>\n<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n&nbsp;\n<span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span><a href=\"http:\/\/www.php.net\/is_array\"><span class=\"kw3\">is_array<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"re0\">$items<\/span><span class=\"br0\">&#41;<\/span> <span class=\"sy0\">&amp;&amp;<\/span> <a href=\"http:\/\/www.php.net\/count\"><span class=\"kw3\">count<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"re0\">$items<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n    <span class=\"kw1\">foreach<\/span> <span class=\"br0\">&#40;<\/span><span class=\"re0\">$items<\/span> <span class=\"kw1\">as<\/span> <span class=\"re0\">$value<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n        <span class=\"kw1\">echo<\/span> <span class=\"re0\">$value<\/span><span class=\"br0\">[<\/span><span class=\"st_h\">'name'<\/span><span class=\"br0\">]<\/span><span class=\"sy0\">.<\/span><span class=\"st_h\">'&lt;br\/&gt;'<\/span><span class=\"sy0\">;<\/span>\n    <span class=\"br0\">&#125;<\/span>\n<span class=\"br0\">&#125;<\/span><\/pre><\/div><\/div>\n<p>En este caso particular, estoy recuperando todos los elementos.<\/p>\n<p>Si hay elementos, los itero con un <em>foreach<\/em> para imprimir el nombre de cada uno de ellos.<\/p>\n<h3>Otras consideraciones<\/h3>\n<p>La clase DB se compone de dos clases:<\/p>\n<ul>\n<li>Clase DB en el archivo <tt>~\/classes\/Db.php<\/tt> es abstracta<\/li>\n<li>Clase MySQL en el archivo <tt>~\/classes\/MySQL.php<\/tt> se basa en DB<\/li>\n<\/ul>\n<p>A pesar de que DB es seudo \u00fanico, a\u00fan se puede activar manualmente si es necesario cuando el desarrollador se encuentre p\u00fablico. Sin embargo, en PrestaShop debe ser accedido como sigue:<\/p>\n<div id=\"wpshdo_12\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_12\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_12\"><\/a><a id=\"wpshat_12\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_12\"  onClick=\"javascript:wpsh_toggleBlock(12)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_12\" onClick=\"javascript:wpsh_code(12)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_12\" onClick=\"javascript:wpsh_print(12)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_12\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\"><span class=\"re0\">$db<\/span> <span class=\"sy0\">=<\/span> Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/pre><\/div><\/div>\n<p>En algunos casos, podemos ver las peticiones seg\u00fan el siguiente c\u00f3digo:<\/p>\n<div id=\"wpshdo_13\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_13\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_13\"><\/a><a id=\"wpshat_13\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_13\"  onClick=\"javascript:wpsh_toggleBlock(13)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_13\" onClick=\"javascript:wpsh_code(13)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_13\" onClick=\"javascript:wpsh_print(13)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_13\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\"><span class=\"re0\">$db<\/span> <span class=\"sy0\">=<\/span> Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span>_PS_USE_SQL_SLAVE_<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/pre><\/div><\/div>\n<p>Cuando el anterior est\u00e1 conectado, podr\u00eda ingresar servidores esclavos si el usuario de <strong>PrestaShop<\/strong> permite el uso de servidores esclavos <strong>MySQL<\/strong> en su arquitectura.<\/p>\n<p>El argumento est\u00e1ndar <tt><em>PS_USE_SQL_SLAVE<\/em><\/tt> s\u00f3lo se debe utilizar para consultas s\u00f3lo de lectura (<tt>SELECT<\/tt>, <tt>SHOW<\/tt>, etc.), y s\u00f3lo si el resultado no necesita ser actualizado inmediatamente. Es necesario utilizar el servidor maestro para realizar una consulta de selecci\u00f3n justo despu\u00e9s de ingresar algo en la misma tabla.<\/p>\n<p>El m\u00e9todo autoExecute() genera autom\u00e1ticamente la inserci\u00f3n o actualizaci\u00f3n de la base desde una tabla de datos.<\/p>\n<p>Este m\u00e9todo debe utilizarse en lugar de hacer peticiones <tt>INSERT<\/tt> o <tt>UPDATE<\/tt> a menos que estas peticiones sean un poco m\u00e1s complejas (con funciones SQL, consultas intersecadas, etc.).<\/p>\n<p>La ventaja de utilizar un m\u00e9todo para realizar todo es que centraliza las peticiones.<\/p>\n<p>Puedes editar este m\u00e9todo utilizando el sistema de reemplazo de <strong>PrestaShop<\/strong> cuando existe un proceso en particular para aplicar a las tablas durante la inserci\u00f3n.<\/p>\n<div id=\"wpshdo_14\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_14\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_14\"><\/a><a id=\"wpshat_14\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_14\"  onClick=\"javascript:wpsh_toggleBlock(14)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_14\" onClick=\"javascript:wpsh_code(14)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_14\" onClick=\"javascript:wpsh_print(14)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_14\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\">Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">autoExecute<\/span><span class=\"br0\">&#40;<\/span>\n    <span class=\"st_h\">'item'<\/span><span class=\"sy0\">,<\/span> \n    <a href=\"http:\/\/www.php.net\/array\"><span class=\"kw3\">array<\/span><\/a><span class=\"br0\">&#40;<\/span>\n        <span class=\"st_h\">'name'<\/span> <span class=\"sy0\">=&gt;<\/span> pSQL<span class=\"br0\">&#40;<\/span><span class=\"re0\">$name<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span>\n        <span class=\"st_h\">'active'<\/span> <span class=\"sy0\">=&gt;<\/span> <span class=\"nu0\">1<\/span>\n    <span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span> <span class=\"st_h\">'INSERT'<\/span>\n<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/pre><\/div><\/div>\n<p>Solicitar este m\u00e9todo ofrece como resultado la siguiente consulta SQL:<\/p>\n<div id=\"wpshdo_15\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_15\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_15\"><\/a><a id=\"wpshat_15\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_15\"  onClick=\"javascript:wpsh_toggleBlock(15)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_15\" onClick=\"javascript:wpsh_code(15)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_15\" onClick=\"javascript:wpsh_print(15)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_15\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"sql\" style=\"font-family:monospace;\"><span class=\"kw1\">INSERT<\/span> <span class=\"kw1\">INTO<\/span> item <span class=\"br0\">&#40;<\/span>name<span class=\"br0\">&#41;<\/span> <span class=\"kw1\">VALUES<\/span> <span class=\"br0\">&#40;<\/span><span class=\"st0\">'myName'<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span><\/pre><\/div><\/div>\n<p>Importante :<\/p>\n<p>Aseg\u00farate siempre de que tus datos est\u00e1n protegidos antes de transferirlos a <tt>autoExecute().<\/tt><\/p>\n<p>En el ejemplo, el identificador debe ser un entero y el nombre debe estar protegido contra inyecciones <strong>SQL<\/strong> con <tt>pSQL().<\/tt><\/p>\n<p>Con <strong>PrestaShop<\/strong>, los nombres de las tablas deben ir siempre precedidos por el prefijo, incluida la constante <tt><em>DB_PREFIX.<\/em><\/tt><\/p>\n<p>Puedes generar una consulta de actualizaci\u00f3n sustituyendo el tercer argumento con <tt>UPDATE<\/tt>.<\/p>\n<p>En este caso, puedes eludir las restricciones <strong>SQL<\/strong> (por ejemplo: <tt>\u2026-&gt;autoExecute('table', $data, 'UPDATE', 'myField = 13 AND id &lt; 8');<\/tt> ).<\/p>\n<p>Existe una versi\u00f3n DELETE de <tt>autoExecute() que pue<\/tt>de ser utilizado para el mismo prop\u00f3sito.<\/p>\n<p>El argumento $limit limita el n\u00famero de elementos guardados que puede eliminar.<\/p>\n<p>La otra ventaja de este m\u00e9todo es que puede ser utilizado con el sistema de cach\u00e9 de consulta de <strong>SQL<\/strong> de <strong>PrestaShop<\/strong> y elimina las consultas almacenadas en cach\u00e9 a menos que el argumento $use_cache argumento sea falso.<\/p>\n<div id=\"wpshdo_16\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_16\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_16\"><\/a><a id=\"wpshat_16\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_16\"  onClick=\"javascript:wpsh_toggleBlock(16)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_16\" onClick=\"javascript:wpsh_code(16)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_16\" onClick=\"javascript:wpsh_print(16)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_16\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\">Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">delete<\/span><span class=\"br0\">&#40;<\/span><span class=\"st_h\">'item'<\/span><span class=\"sy0\">,<\/span> <span class=\"st_h\">'id_item &lt; 15'<\/span><span class=\"sy0\">,<\/span> 3<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/pre><\/div><\/div>\n<p>En este caso,\u00a0 la siguiente consulta se genera:<\/p>\n<div id=\"wpshdo_17\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_17\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_17\"><\/a><a id=\"wpshat_17\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_17\"  onClick=\"javascript:wpsh_toggleBlock(17)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_17\" onClick=\"javascript:wpsh_code(17)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_17\" onClick=\"javascript:wpsh_print(17)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_17\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"sql\" style=\"font-family:monospace;\"><span class=\"kw1\">DELETE<\/span> <span class=\"kw1\">FROM<\/span> item <span class=\"kw1\">WHERE<\/span> id_item <span class=\"sy0\">&lt;<\/span> 15 <span class=\"kw1\">LIMIT<\/span> <span class=\"nu0\">3<\/span><\/pre><\/div><\/div>\n<p>Como hemos podido observar al principio, el m\u00e9todo <strong>execute()<\/strong> ejecuta la consulta <strong>SQL<\/strong> ofrecida.<\/p>\n<p>Esta funci\u00f3n s\u00f3lo debe ser utilizada para consultas s\u00f3lo de escritura (INSERT, UPDATE, DELETE, TRUNCATE etc.), ya que tambi\u00e9n elimina la consulta cach\u00e9 (a menos que el argumento $use_cache sea falso).<\/p>\n<p>Por ejemplo:<\/p>\n<div id=\"wpshdo_18\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_18\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_18\"><\/a><a id=\"wpshat_18\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_18\"  onClick=\"javascript:wpsh_toggleBlock(18)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_18\" onClick=\"javascript:wpsh_code(18)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_18\" onClick=\"javascript:wpsh_print(18)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_18\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\"><span class=\"re0\">$sql<\/span> <span class=\"sy0\">=<\/span> <span class=\"st_h\">'DELETE FROM '<\/span><span class=\"sy0\">.<\/span>_DB_PREFIX_<span class=\"sy0\">.<\/span><span class=\"st_h\">'item WHERE date_upd &lt; NOW()'<\/span><span class=\"sy0\">;<\/span> \n<span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span><span class=\"sy0\">!<\/span>Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">Execute<\/span><span class=\"br0\">&#40;<\/span><span class=\"re0\">$sql<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n    <a href=\"http:\/\/www.php.net\/die\"><span class=\"kw3\">die<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st_h\">'Erreur etc.'<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span>\n<span class=\"br0\">&#125;<\/span><\/pre><\/div><\/div>\n<p>El m\u00e9todo <strong>executeS()<\/strong> ejecuta la consulta <strong>SQL<\/strong> ofrecida y carga todos los resultados en una tabla multidimensional.<\/p>\n<p>Este m\u00e9todo solo se debe usar con consultas s\u00f3lo de lectura (SELECT, SHOW etc.).<\/p>\n<p>Los resultados de la consulta ser\u00e1n almacenados en cach\u00e9 a menos que el argumento $use_cache sea falso.<\/p>\n<div id=\"wpshdo_19\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_19\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_19\"><\/a><a id=\"wpshat_19\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_19\"  onClick=\"javascript:wpsh_toggleBlock(19)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_19\" onClick=\"javascript:wpsh_code(19)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_19\" onClick=\"javascript:wpsh_print(19)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_19\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\"><span class=\"re0\">$sql<\/span> <span class=\"sy0\">=<\/span> <span class=\"st_h\">'SELECT * FROM '<\/span><span class=\"sy0\">.<\/span>_DB_PREFIX_<span class=\"sy0\">.<\/span><span class=\"st_h\">'item'<\/span><span class=\"sy0\">;<\/span>\n<span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span><span class=\"re0\">$results<\/span> <span class=\"sy0\">=<\/span> Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">ExecuteS<\/span><span class=\"br0\">&#40;<\/span><span class=\"re0\">$sql<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n    <span class=\"kw1\">foreach<\/span> <span class=\"br0\">&#40;<\/span><span class=\"re0\">$results<\/span> <span class=\"kw1\">as<\/span> <span class=\"re0\">$row<\/span><span class=\"br0\">&#41;<\/span> <span class=\"br0\">&#123;<\/span>\n        <span class=\"kw1\">echo<\/span> <span class=\"re0\">$row<\/span><span class=\"br0\">[<\/span><span class=\"st_h\">'id_item'<\/span><span class=\"br0\">]<\/span><span class=\"sy0\">.<\/span><span class=\"st_h\">' :: '<\/span><span class=\"sy0\">.<\/span><span class=\"re0\">$row<\/span><span class=\"br0\">[<\/span><span class=\"st_h\">'name'<\/span><span class=\"br0\">]<\/span><span class=\"sy0\">.<\/span><span class=\"st_h\">'&lt;br \/&gt;'<\/span><span class=\"sy0\">;<\/span>\n    <span class=\"br0\">&#125;<\/span>\n<span class=\"br0\">&#125;<\/span><\/pre><\/div><\/div>\n<p>El m\u00e9todo <strong>getRow()<\/strong> ejecuta la consulta <strong>SQL<\/strong> ofrecida y recoge la primera l\u00ednea de resultados.<\/p>\n<p>Este m\u00e9tdo s\u00f3lo debe ser utilizado con consultas s\u00f3lo de lectura (SELECT, SHOW, etc.).<\/p>\n<p>Los resultados de la consulta se almacenan en cach\u00e9 a menos que el argumento $use_cache sea falso.<\/p>\n<div id=\"wpshdo_20\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_20\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_20\"><\/a><a id=\"wpshat_20\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_20\"  onClick=\"javascript:wpsh_toggleBlock(20)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_20\" onClick=\"javascript:wpsh_code(20)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_20\" onClick=\"javascript:wpsh_print(20)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_20\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\"><span class=\"re0\">$sql<\/span> <span class=\"sy0\">=<\/span> <span class=\"st_h\">'SELECT COUNT(*) FROM '<\/span><span class=\"sy0\">.<\/span>_DB_PREFIX_<span class=\"sy0\">.<\/span><span class=\"st_h\">'item'<\/span><span class=\"sy0\">;<\/span>\n<span class=\"re0\">$total_items<\/span> <span class=\"sy0\">=<\/span> Db<span class=\"sy0\">::<\/span><span class=\"me2\">getInstance<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">getValue<\/span><span class=\"br0\">&#40;<\/span><span class=\"re0\">$sql<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/pre><\/div><\/div>\n<p>Otros m\u00e9todos que pueden ser muy \u00fatiles:<\/p>\n<ul>\n<li><tt>Insert_ID()<\/tt>: muestra el ID creado por la \u00faltima consulta ejecutada INSERT.<\/li>\n<li><tt>affected_Rows()<\/tt>: muestra el n\u00famero de l\u00edneas afectadas por la \u00faltima consulta ejecutada UPDATE o DELETE.<\/li>\n<li><tt>getMsgError()<\/tt>: muestra el \u00faltimo mensaje de error si una consulta ha fracasado.<\/li>\n<li><tt>getNumberError()<\/tt>: muestra el \u00faltimo n\u00famero de error si una consulta ha fracasado.<\/li>\n<\/ul>\n<p>Otro recurso muy interesante para ejecutar sentencias sql desde el PHP en <strong>PretaShop<\/strong> es utilizar la clase <strong>DbQuery<\/strong>. En el <a href=\"http:\/\/www.ivan-garcia.com\/blog\/la-clase-dbquery-de-prestashop\/\" target=\"_blank\" rel=\"noopener noreferrer\">blog de Ivan Garcia<\/a> lo explica muy bien.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gu\u00eda de procedimientos para trabajar con la base de datos de Prestashop con PHP utilizando la clase DB que permite hacer consultas, inserciones, eliminaci\u00f3n y alteraciones.<\/p>\n","protected":false},"author":1,"featured_media":7448,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[112],"class_list":["post-2582","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-prestashop","tag-registros"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Como trabajar con la base de datos de PrestaShop - Jose Aguilar Blog<\/title>\n<meta name=\"description\" content=\"Gu\u00eda de procedimientos para trabajar con la base de datos de Prestashop con PHP utilizando la clase DB que permite hacer consultas, inserciones, eliminaci\u00f3n y alteraciones.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Como trabajar con la base de datos de PrestaShop - Jose Aguilar Blog\" \/>\n<meta property=\"og:description\" content=\"Gu\u00eda de procedimientos para trabajar con la base de datos de Prestashop con PHP utilizando la clase DB que permite hacer consultas, inserciones, eliminaci\u00f3n y alteraciones.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/\" \/>\n<meta property=\"og:site_name\" content=\"Jose Aguilar Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/joseaguilarblog\" \/>\n<meta property=\"article:published_time\" content=\"2012-05-05T18:54:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-09-05T10:38:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/05\/base-de-datos-prestashop.png\" \/>\n\t<meta property=\"og:image:width\" content=\"250\" \/>\n\t<meta property=\"og:image:height\" content=\"250\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jose Aguilar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:site\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jose Aguilar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/\",\"name\":\"Como trabajar con la base de datos de PrestaShop - Jose Aguilar Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/05\/base-de-datos-prestashop.png\",\"datePublished\":\"2012-05-05T18:54:57+00:00\",\"dateModified\":\"2019-09-05T10:38:31+00:00\",\"author\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\"},\"description\":\"Gu\u00eda de procedimientos para trabajar con la base de datos de Prestashop con PHP utilizando la clase DB que permite hacer consultas, inserciones, eliminaci\u00f3n y alteraciones.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/#primaryimage\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/05\/base-de-datos-prestashop.png\",\"contentUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/05\/base-de-datos-prestashop.png\",\"width\":250,\"height\":250},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/www.jose-aguilar.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Como trabajar con la base de datos de PrestaShop\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/\",\"name\":\"Jose Aguilar Blog\",\"description\":\"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\",\"name\":\"Jose Aguilar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"caption\":\"Jose Aguilar\"},\"description\":\"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.\",\"sameAs\":[\"https:\/\/plus.google.com\/114357189801512615537\"],\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Como trabajar con la base de datos de PrestaShop - Jose Aguilar Blog","description":"Gu\u00eda de procedimientos para trabajar con la base de datos de Prestashop con PHP utilizando la clase DB que permite hacer consultas, inserciones, eliminaci\u00f3n y alteraciones.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"es_ES","og_type":"article","og_title":"Como trabajar con la base de datos de PrestaShop - Jose Aguilar Blog","og_description":"Gu\u00eda de procedimientos para trabajar con la base de datos de Prestashop con PHP utilizando la clase DB que permite hacer consultas, inserciones, eliminaci\u00f3n y alteraciones.","og_url":"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/","og_site_name":"Jose Aguilar Blog","article_publisher":"https:\/\/www.facebook.com\/joseaguilarblog","article_published_time":"2012-05-05T18:54:57+00:00","article_modified_time":"2019-09-05T10:38:31+00:00","og_image":[{"width":250,"height":250,"url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/05\/base-de-datos-prestashop.png","type":"image\/png"}],"author":"Jose Aguilar","twitter_card":"summary_large_image","twitter_creator":"@JoseAguilarBlog","twitter_site":"@JoseAguilarBlog","twitter_misc":{"Escrito por":"Jose Aguilar","Tiempo de lectura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/","url":"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/","name":"Como trabajar con la base de datos de PrestaShop - Jose Aguilar Blog","isPartOf":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/#primaryimage"},"image":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/#primaryimage"},"thumbnailUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/05\/base-de-datos-prestashop.png","datePublished":"2012-05-05T18:54:57+00:00","dateModified":"2019-09-05T10:38:31+00:00","author":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11"},"description":"Gu\u00eda de procedimientos para trabajar con la base de datos de Prestashop con PHP utilizando la clase DB que permite hacer consultas, inserciones, eliminaci\u00f3n y alteraciones.","breadcrumb":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/#primaryimage","url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/05\/base-de-datos-prestashop.png","contentUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2012\/05\/base-de-datos-prestashop.png","width":250,"height":250},{"@type":"BreadcrumbList","@id":"https:\/\/www.jose-aguilar.com\/blog\/como-trabajar-con-la-base-de-datos-de-prestashop\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.jose-aguilar.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Como trabajar con la base de datos de PrestaShop"}]},{"@type":"WebSite","@id":"https:\/\/www.jose-aguilar.com\/blog\/#website","url":"https:\/\/www.jose-aguilar.com\/blog\/","name":"Jose Aguilar Blog","description":"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11","name":"Jose Aguilar","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","caption":"Jose Aguilar"},"description":"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.","sameAs":["https:\/\/plus.google.com\/114357189801512615537"],"url":"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/"}]}},"_links":{"self":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/2582","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/comments?post=2582"}],"version-history":[{"count":0,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/2582\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media\/7448"}],"wp:attachment":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media?parent=2582"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/categories?post=2582"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/tags?post=2582"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}