{"id":5379,"date":"2026-01-20T12:13:42","date_gmt":"2026-01-20T11:13:42","guid":{"rendered":"https:\/\/sutilweb.eu\/?page_id=5379"},"modified":"2026-01-20T12:13:44","modified_gmt":"2026-01-20T11:13:44","slug":"54-hacer-consultas-sql-a-una-bbdd-mysql-con-php","status":"publish","type":"page","link":"https:\/\/sutilweb.eu\/index.php\/lenguajes\/php\/php-practico\/54-hacer-consultas-sql-a-una-bbdd-mysql-con-php\/","title":{"rendered":"54. Hacer consultas SQL a una BBDD MySQL con PHP"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">En este cap\u00edtulo vamos a ver como hacer consultas SQL a nuestra base de datos, para lo cual vamos a trabajar con el archivo <em>Contact.php<\/em> dentro de la carpeta <em>Models<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Models\/Contact.php<\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\nnamespace App\\Models;\n\nuse mysqli;\n\nclass Contact {\n\n  \/\/ Propiedades que recogen los datos de acceso a la BBDD\n  protected $db_host = DB_HOST;\n  protected $db_user = DB_USER;\n  protected $db_pass = DB_PASS;\n  protected $db_name = DB_NAME;\n\n  \/\/ Propiedad que recoge la conexi\u00f3n a la base de datos\n  protected $connection;\n\n  \/\/ Propiedad que recoge la consulta a la BBDD\n  protected $query;\n\n  public function __construct(){\n    $this->connection();\n  }\n\n  \/\/ M\u00e9todo encargado de realizar la conexi\u00f3n\n  public function connection(){\n    \/\/ Conexi\u00f3n con mysqli\n    $this->connection =  new mysqli($this->db_host, $this->db_user, $this->db_pass, $this->db_name);\n\n    if($this->connection->connect_error)\n    {\n      die('Error de conexi\u00f3n: ' . $this->connection->connect_error);\n    }\n  }\n\n  \/\/ M\u00e9todo que hace la consulta a la base de datos\n  public function query($sql){\n    $this->query = $this->connection->query($sql);\n\n    return $this;\n  }\n\n  \/\/ M\u00e9todo que recupera el primer registro de la consulta a la base de datos\n  public function first(){\n    return $this->query->fetch_assoc();\n  }\n\n  \/\/ M\u00e9todo que recupera todos los registros de la consulta a la base de datos\n  public function get(){\n    return $this->query->fetch_all(MYSQLI_ASSOC);\n  }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Hemos agregado un nuevo m\u00e9todo denominado <em>query()<\/em> el cual va a hacer la consulta a la base de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora vamos a trabajar en nuestro archivo <em>HomeController.php<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Controllers\/HomeController.php<\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\nnamespace App\\Controllers;\n\nuse App\\Models\\Contact;\n\nclass HomeController extends Controller\n{\n  public function index()\n  {\n    $contactModel = new Contact();\n\n    \/\/ Le decimos al modelo que haga la siguiente consulta\n    return $contactModel->query(\"SELECT * FROM contacts\")->get();\n\n    \/\/ M\u00e9todo que se encarga de incluir toda la l\u00f3gica necesaria para mostrar contenido\n    return $this->view('home', &#91;\n      'title' => 'Home',\n      'description' => 'Esta es la p\u00e1gina Home'\n    ]);\n  }\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>En este cap\u00edtulo vamos a ver como hacer consultas SQL a nuestra base de datos, para lo cual vamos a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":4518,"menu_order":53,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-5379","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Sutil Web","author_link":"https:\/\/sutilweb.eu\/index.php\/author\/sutilweb\/"},"uagb_comment_info":0,"uagb_excerpt":"En este cap\u00edtulo vamos a ver como hacer consultas SQL a nuestra base de datos, para lo cual vamos a [&hellip;]","_links":{"self":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5379","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/comments?post=5379"}],"version-history":[{"count":4,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5379\/revisions"}],"predecessor-version":[{"id":5383,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/5379\/revisions\/5383"}],"up":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/4518"}],"wp:attachment":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/media?parent=5379"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}