{"id":687,"date":"2017-08-07T07:00:54","date_gmt":"2017-08-07T12:00:54","guid":{"rendered":"https:\/\/www.maxprog.com\/blog\/?p=687"},"modified":"2019-01-10T01:56:16","modified_gmt":"2019-01-10T06:56:16","slug":"mlm-mysql-to-mysqli-migration","status":"publish","type":"post","link":"https:\/\/www.maxprog.com\/blog\/mlm-mysql-to-mysqli-migration\/","title":{"rendered":"MLM mySQL to mySQLi migration"},"content":{"rendered":"<p><a href=\"https:\/\/www.maxprog.com\/site\/scripts\/list-manager\/index.php\" target=\"_blank\">MLM<\/a> has been fully updated to use <a href=\"https:\/\/www.google.es\/url?sa=t&#038;rct=j&#038;q=&#038;esrc=s&#038;source=web&#038;cd=1&#038;cad=rja&#038;uact=8&#038;ved=0ahUKEwitnMbLhsXVAhWJ2hoKHRp_BxsQFggoMAA&#038;url=http%3A%2F%2Fphp.net%2Fmanual%2Fen%2Fbook.mysqli.php&#038;usg=AFQjCNEqr4MIMr-la3jWWjZ1PQbJFnyFHw\" target=\"_blank\">mySQLi<\/a> calls rather than <a href=\"https:\/\/www.google.es\/url?sa=t&#038;rct=j&#038;q=&#038;esrc=s&#038;source=web&#038;cd=2&#038;cad=rja&#038;uact=8&#038;ved=0ahUKEwi60aPVhsXVAhXLSxoKHcN5BPoQFggtMAE&#038;url=http%3A%2F%2Fphp.net%2Fmanual%2Fen%2Fbook.mysql.php&#038;usg=AFQjCNG-1bzJvxHwCxzfNcUu9nxRsaZ0ZQ\" target=\"_blank\">mySQL<\/a>.<\/p>\n<p>That was done during summer 2016 and fully tested during 12 months for problems. None were found so the procedure below is quite secure. If you read this and you are about to update your PHP file to use mySQLi calls the best is to prepare you work thoroughly in advance. Check which functions are used and what is the mySQLi equivalent, the name use to be the same but with a mysqli_ prefix instead of mysql_ however most function calls require more parameters to be passed and they can be in reverse order.<\/p>\n<p>List of MySQL functions to update (in lm_functions.php):<\/p>\n<p>> mysql_get_host_info()<br \/>\n  &#8211;> mysqli_get_host_info ( $mysql_link )<\/p>\n<p>> mysql_get_server_info()<br \/>\n  &#8211;> mysqli_get_server_info ( $mysql_link )<\/p>\n<p>> mysql_get_client_info()<br \/>\n  &#8211;> mysqli_get_client_info ( $mysql_link )<\/p>\n<p>> mysql_get_proto_info()<br \/>\n  &#8211;> mysqli_get_proto_info ( $mysql_link )<\/p>\n<p>> mysql_real_escape_string( $text )<br \/>\n  &#8211;> mysqli_real_escape_string ( $mysql_link , $text )<\/p>\n<p>> mysql_affected_rows( $mysql_link )<br \/>\n  &#8211;> mysqli_affected_rows ( $mysql_link )<\/p>\n<p>> mysql_client_encoding( $mysql_link )<br \/>\n  &#8211;> mysqli_character_set_name ( $mysql_link  )<\/p>\n<p>> mysql_close( $mysql_link )<br \/>\n  &#8211;> mysqli_close($mysql_link)<\/p>\n<p>> mysql_connect( $dbhost, $dbusername, $dbuserpass, $dbname )<br \/>\n  &#8211;> mysqli_connect( $dbhost, $dbusername, $dbuserpass, $dbname )<\/p>\n<p>> mysql_db_query( $dbname, $query )<br \/>\n  &#8211;> mysqli_query( $mysql_link, $query )<\/p>\n<p>> mysql_errno( $mysql_link )<br \/>\n  &#8211;> mysqli_errno( $mysql_link )<\/p>\n<p>> mysql_error( $mysql_link )<br \/>\n  &#8211;> mysqli_error( $mysql_link )<\/p>\n<p>> mysql_fetch_array( $res )<br \/>\n  &#8211;> mysqli_fetch_array( $res )<\/p>\n<p>> mysql_num_rows( $res )<br \/>\n  &#8211;> mysqli_num_rows( $res )<\/p>\n<p>> mysql_query( $query, $mysql_link )<br \/>\n  &#8211;> mysqli_query( $mysql_link, $query )  <- INVERTED PARAMETERS!!\n\n> mysql_select_db ( $dbname )<br \/>\n  &#8211;> NOT REQUIRED, SEE NOTE 3<\/p>\n<p>> mysql_set_charset( &#8220;utf8&#8221;, $mysql_link )<br \/>\n  &#8211;> mysqli_set_charset( $mysql_link, &#8220;utf8&#8221; ) <- INVERTED PARAMETERS!!\n\n> mysql_fetch_object( $res )<br \/>\n  &#8211;> mysqli_fetch_object ( $res )<\/p>\n<p>Server connection error has changed:<\/p>\n<p>> mysql_errno( $mysql_link )<br \/>\n  &#8211;> mysqli_connect_errno()<\/p>\n<p>> mysql_error( $mysql_link )<br \/>\n  &#8211;> mysqli_connect_error() <\/p>\n<p><strong>NOTE 1:<\/strong> $mysql_link has to be global and available to each function that needs it with the &#8216;global&#8217; keyword.<\/p>\n<p><strong>NOTE 2:<\/strong> After a given query has been processed and we are done with the result just call the mysqli_free_result($result) function.<\/p>\n<p><strong>NOTE 3:<\/strong> mysqli_connect already select the database so mysqli_select_db ( $mysql_link , $dbname ) is just for changing DB.<\/p>\n<p>After the changes we should not find any &#8216;mysql_&#8217; strings in the code at all.<\/p>\n<p>For your info, the mysqli extension has a number of benefits, the key enhancements over the mysql extension being:<\/p>\n<p>&#8211; Object-oriented interface<br \/>\n&#8211; Support for Prepared Statements<br \/>\n&#8211; Support for Multiple Statements<br \/>\n&#8211; Support for Transactions<br \/>\n&#8211; Enhanced debugging capabilities<br \/>\n&#8211; Embedded server support<\/p>\n<p><a href=\"http:\/\/www.php.net\/manual\/es\/book.mysqli.php\" target=\"_blank\">Manual<\/a> | <a href=\"http:\/\/ambigel.blogia.com\/2009\/121701-migrar-aplicacion-php-de-la-libreria-mysql-a-mysqli.php\" target=\"_blank\">Migration guide<\/a> | <a href=\"https:\/\/wikis.oracle.com\/display\/mysql\/Converting+to+MySQLi\" target=\"_blank\">Guide + tool<\/a> | <a href=\"https:\/\/www.google.es\/search?client=safari&#038;rls=en&#038;q=como+pasar+de+mysql+a+mysqli&#038;ie=UTF-8&#038;oe=UTF-8&#038;gfe_rd=cr&#038;ei=BEWwUpa3Hc6W_Aaxn4HADw\" target=\"_blank\">More info<\/a><\/p>\n<p>\u2014<br \/>\nStan Busk &#8211; Software Engineer<br \/>\nat <a href=\"https:\/\/www.maxprog.com\" target=\"_blank\">www.maxprog.com<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>MLM has been fully updated to use mySQLi calls rather than mySQL. That was done during summer 2016 and fully tested during 12 months for problems. None were found so the procedure below is quite secure. If you read this and you are about to update your PHP file to use mySQLi calls the best is to prepare you work thoroughly in advance. Check which functions are used and what is the mySQLi equivalent, the name use to be the same but with a mysqli_ prefix instead of mysql_ however most function calls require more parameters to be passed and &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[40,39],"class_list":["post-687","post","type-post","status-publish","format-standard","hentry","category-logbook","tag-mlm","tag-php-mysqli-migration"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>MLM mySQL to mySQLi migration - Tips and tricks<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.maxprog.com\/blog\/mlm-mysql-to-mysqli-migration\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MLM mySQL to mySQLi migration\" \/>\n<meta property=\"og:description\" content=\"MLM has been fully updated to use mySQLi calls rather than mySQL. That was done during summer 2016 and fully tested during 12 months for problems. None were found so the procedure below is quite secure. If you read this and you are about to update your PHP file to use mySQLi calls the best is to prepare you work thoroughly in advance. Check which functions are used and what is the mySQLi equivalent, the name use to be the same but with a mysqli_ prefix instead of mysql_ however most function calls require more parameters to be passed and &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.maxprog.com\/blog\/mlm-mysql-to-mysqli-migration\/\" \/>\n<meta property=\"og:site_name\" content=\"Tips and tricks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/maxprog\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/maxprog\" \/>\n<meta property=\"article:published_time\" content=\"2017-08-07T12:00:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-01-10T06:56:16+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@maxprog\" \/>\n<meta name=\"twitter:site\" content=\"@maxprog\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/mlm-mysql-to-mysqli-migration\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/mlm-mysql-to-mysqli-migration\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/#\\\/schema\\\/person\\\/94903012a832903f334e8b939c2ac916\"},\"headline\":\"MLM mySQL to mySQLi migration\",\"datePublished\":\"2017-08-07T12:00:54+00:00\",\"dateModified\":\"2019-01-10T06:56:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/mlm-mysql-to-mysqli-migration\\\/\"},\"wordCount\":467,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/#organization\"},\"keywords\":[\"MLM\",\"php mysqli migration\"],\"articleSection\":[\"Logbook\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/mlm-mysql-to-mysqli-migration\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/mlm-mysql-to-mysqli-migration\\\/\",\"url\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/mlm-mysql-to-mysqli-migration\\\/\",\"name\":\"MLM mySQL to mySQLi migration - Tips and tricks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/#website\"},\"datePublished\":\"2017-08-07T12:00:54+00:00\",\"dateModified\":\"2019-01-10T06:56:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/mlm-mysql-to-mysqli-migration\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/mlm-mysql-to-mysqli-migration\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/mlm-mysql-to-mysqli-migration\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MLM mySQL to mySQLi migration\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/\",\"name\":\"Tips and tricks\",\"description\":\"How to use Maxprog products\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/#organization\",\"name\":\"Maxprog\",\"url\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/logo_maxprog_pict_white_with_blue_back_512x512.png\",\"contentUrl\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/logo_maxprog_pict_white_with_blue_back_512x512.png\",\"width\":512,\"height\":512,\"caption\":\"Maxprog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/maxprog\",\"https:\\\/\\\/x.com\\\/maxprog\",\"https:\\\/\\\/www.instagram.com\\\/stanbusk\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/maxprog\",\"https:\\\/\\\/es.pinterest.com\\\/stanbusk\\\/\",\"https:\\\/\\\/www.youtube.com\\\/c\\\/Maxprog\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.maxprog.com\\\/blog\\\/#\\\/schema\\\/person\\\/94903012a832903f334e8b939c2ac916\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/49daac01857e4ec6646801107e47c7f62856c94d4ef7caf1a296f296c790fb81?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/49daac01857e4ec6646801107e47c7f62856c94d4ef7caf1a296f296c790fb81?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/49daac01857e4ec6646801107e47c7f62856c94d4ef7caf1a296f296c790fb81?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"description\":\"Software engineer at maxprog.com\",\"sameAs\":[\"https:\\\/\\\/www.maxprog.com\\\/\",\"https:\\\/\\\/www.facebook.com\\\/maxprog\",\"https:\\\/\\\/www.instagram.com\\\/maxprog8\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/maxprog\",\"https:\\\/\\\/www.pinterest.es\\\/stanbusk\",\"https:\\\/\\\/x.com\\\/maxprog\",\"https:\\\/\\\/www.youtube.com\\\/c\\\/Maxprog\",\"https:\\\/\\\/maxprog.tumblr.com\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MLM mySQL to mySQLi migration - Tips and tricks","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.maxprog.com\/blog\/mlm-mysql-to-mysqli-migration\/","og_locale":"en_US","og_type":"article","og_title":"MLM mySQL to mySQLi migration","og_description":"MLM has been fully updated to use mySQLi calls rather than mySQL. That was done during summer 2016 and fully tested during 12 months for problems. None were found so the procedure below is quite secure. If you read this and you are about to update your PHP file to use mySQLi calls the best is to prepare you work thoroughly in advance. Check which functions are used and what is the mySQLi equivalent, the name use to be the same but with a mysqli_ prefix instead of mysql_ however most function calls require more parameters to be passed and &hellip;","og_url":"https:\/\/www.maxprog.com\/blog\/mlm-mysql-to-mysqli-migration\/","og_site_name":"Tips and tricks","article_publisher":"https:\/\/www.facebook.com\/maxprog","article_author":"https:\/\/www.facebook.com\/maxprog","article_published_time":"2017-08-07T12:00:54+00:00","article_modified_time":"2019-01-10T06:56:16+00:00","author":"admin","twitter_card":"summary_large_image","twitter_creator":"@maxprog","twitter_site":"@maxprog","twitter_misc":{"Written by":"admin","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.maxprog.com\/blog\/mlm-mysql-to-mysqli-migration\/#article","isPartOf":{"@id":"https:\/\/www.maxprog.com\/blog\/mlm-mysql-to-mysqli-migration\/"},"author":{"name":"admin","@id":"https:\/\/www.maxprog.com\/blog\/#\/schema\/person\/94903012a832903f334e8b939c2ac916"},"headline":"MLM mySQL to mySQLi migration","datePublished":"2017-08-07T12:00:54+00:00","dateModified":"2019-01-10T06:56:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.maxprog.com\/blog\/mlm-mysql-to-mysqli-migration\/"},"wordCount":467,"commentCount":0,"publisher":{"@id":"https:\/\/www.maxprog.com\/blog\/#organization"},"keywords":["MLM","php mysqli migration"],"articleSection":["Logbook"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.maxprog.com\/blog\/mlm-mysql-to-mysqli-migration\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.maxprog.com\/blog\/mlm-mysql-to-mysqli-migration\/","url":"https:\/\/www.maxprog.com\/blog\/mlm-mysql-to-mysqli-migration\/","name":"MLM mySQL to mySQLi migration - Tips and tricks","isPartOf":{"@id":"https:\/\/www.maxprog.com\/blog\/#website"},"datePublished":"2017-08-07T12:00:54+00:00","dateModified":"2019-01-10T06:56:16+00:00","breadcrumb":{"@id":"https:\/\/www.maxprog.com\/blog\/mlm-mysql-to-mysqli-migration\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.maxprog.com\/blog\/mlm-mysql-to-mysqli-migration\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.maxprog.com\/blog\/mlm-mysql-to-mysqli-migration\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.maxprog.com\/blog\/"},{"@type":"ListItem","position":2,"name":"MLM mySQL to mySQLi migration"}]},{"@type":"WebSite","@id":"https:\/\/www.maxprog.com\/blog\/#website","url":"https:\/\/www.maxprog.com\/blog\/","name":"Tips and tricks","description":"How to use Maxprog products","publisher":{"@id":"https:\/\/www.maxprog.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.maxprog.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.maxprog.com\/blog\/#organization","name":"Maxprog","url":"https:\/\/www.maxprog.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.maxprog.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.maxprog.com\/blog\/wp-content\/uploads\/2019\/04\/logo_maxprog_pict_white_with_blue_back_512x512.png","contentUrl":"https:\/\/www.maxprog.com\/blog\/wp-content\/uploads\/2019\/04\/logo_maxprog_pict_white_with_blue_back_512x512.png","width":512,"height":512,"caption":"Maxprog"},"image":{"@id":"https:\/\/www.maxprog.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/maxprog","https:\/\/x.com\/maxprog","https:\/\/www.instagram.com\/stanbusk\/","https:\/\/www.linkedin.com\/company\/maxprog","https:\/\/es.pinterest.com\/stanbusk\/","https:\/\/www.youtube.com\/c\/Maxprog"]},{"@type":"Person","@id":"https:\/\/www.maxprog.com\/blog\/#\/schema\/person\/94903012a832903f334e8b939c2ac916","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/49daac01857e4ec6646801107e47c7f62856c94d4ef7caf1a296f296c790fb81?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/49daac01857e4ec6646801107e47c7f62856c94d4ef7caf1a296f296c790fb81?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/49daac01857e4ec6646801107e47c7f62856c94d4ef7caf1a296f296c790fb81?s=96&d=mm&r=g","caption":"admin"},"description":"Software engineer at maxprog.com","sameAs":["https:\/\/www.maxprog.com\/","https:\/\/www.facebook.com\/maxprog","https:\/\/www.instagram.com\/maxprog8\/","https:\/\/www.linkedin.com\/company\/maxprog","https:\/\/www.pinterest.es\/stanbusk","https:\/\/x.com\/maxprog","https:\/\/www.youtube.com\/c\/Maxprog","https:\/\/maxprog.tumblr.com"]}]}},"_links":{"self":[{"href":"https:\/\/www.maxprog.com\/blog\/wp-json\/wp\/v2\/posts\/687","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.maxprog.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.maxprog.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.maxprog.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.maxprog.com\/blog\/wp-json\/wp\/v2\/comments?post=687"}],"version-history":[{"count":0,"href":"https:\/\/www.maxprog.com\/blog\/wp-json\/wp\/v2\/posts\/687\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.maxprog.com\/blog\/wp-json\/wp\/v2\/media?parent=687"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.maxprog.com\/blog\/wp-json\/wp\/v2\/categories?post=687"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.maxprog.com\/blog\/wp-json\/wp\/v2\/tags?post=687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}