{"id":520,"date":"2014-04-20T17:54:57","date_gmt":"2014-04-20T17:54:57","guid":{"rendered":"http:\/\/luisrodriguez.pe\/blog\/?p=520"},"modified":"2014-05-18T06:46:23","modified_gmt":"2014-05-18T06:46:23","slug":"conectar-php-con-sql-server","status":"publish","type":"post","link":"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/","title":{"rendered":"conectar php con sql server"},"content":{"rendered":"<p><a href=\"http:\/\/luisrodriguez.pe\/blog\/wp-content\/uploads\/2014\/04\/descarga.jpg\"><img fetchpriority=\"high\" decoding=\"async\" src=\"http:\/\/luisrodriguez.pe\/blog\/wp-content\/uploads\/2014\/04\/descarga.jpg\" alt=\"\" title=\"sql server\" width=\"241\" height=\"209\" class=\"alignright size-full wp-image-530\" \/><\/a>Ya hace tiempo tuve un cliente que quer\u00eda que su web corriera en <strong>php<\/strong> de lenguaje del lado del servidor y con <strong>SQL SERVER\u00a0<\/strong> para el motor de<strong> base de datos<\/strong>\u00a0 \u00a0entonces \u00a0ahi mucha informaci\u00f3n sobre este tipo de conexi\u00f3n pero la verdad que nos mandan por el desbio.<\/p>\n<p>SQL SERVER es un motor de base de datos robustas y deben tener en cuenta que ahi en peque\u00f1as cosas que cambia cuando hacen las consulta por ejemplo en mysql existe el LIMIT pero en SQL SERVER tenemos el TOP esto solo lo digo como referencia para que lo tengan en cuenta.<\/p>\n<p>los script que mostrare sera de una forma de programacion estructural ya luego pueden armarlo con clases MVC<br \/>\nconexion<\/p>\n<pre><code class=\"php\"> $server=\"LUISRODRIGUEZ-PC\"; $database=\"NOMBREBASEDEDATOS\"; $user=\"USER\"; $password=\"PASS\"; $cn=odbc_connect(\"Driver={SQL Server};Server=$server;Database=$database;\", $user, $password); <\/code><\/pre>\n<p>la parte de arriba tenemos la conexion a la base de datos<br \/>\npara ponerlos practicos hagamos que vamos hacer un login.<\/p>\n<pre><code class=\"php\"> \r\n\/\/tomamos los post del fromulario que seria para el login \r\n$correo= addslashes(trim($_POST[\"correo\"])); \r\n$pw=addslashes(trim($_POST[\"pw\"])); \r\n\/\/la consulta para verificar si existe el usuario \r\n\/\/ejecutamos la consulta \r\n$SQL=odbc_exec($cn,\"select * from usuarios where correo='\".$correo.\"' and password='\".md5($pw).\"'\"); \r\n\/\/lo ejecutamos y lo pedidos que nos retorne los datos en array \r\n$row= odbc_fetch_array($SQL); \r\n\/\/conteo de registro si ahi mas de 1 va a pasar \r\nif (odbc_num_rows($SQL))\r\n{ \r\n$data[estado]=\"ok\"; \r\n$_SESSION[\"id\"]=$row[\"id\"]; \r\n$_SESSION[\"username\"]=$row[\"username\"]; \r\n}\r\nelse \r\n{\r\n$data[estado]=\"error\"; \r\n} \r\n\/\/lo devolvemos en json \r\necho json_encode($data); <\/code><\/pre>\n<p>entonces esto no es nada dificil pero para que hagamos equivalencias con las consultas tipicas cuando trabajamos con mysql.<\/p>\n<table style='border:1px solid #000'>\n<tbody>\n<tr style='background:#ebebeb'>\n<th>MYSQL<\/th>\n<th>SQL SERVER<\/th>\n<th><\/th>\n<\/tr>\n<tr>\n<td>mysql_query<\/td>\n<td>odbc_exec<\/td>\n<td>puede hacer consultas, insert , delete, update<\/td>\n<\/tr>\n<tr>\n<td>mysql_fetch_array<\/td>\n<td>odbc_fetch_array<\/td>\n<td>\u00a0solo en el caso de hacer consultas con esto pueden obtener la data y claro que tambien es para hace bucle<\/td>\n<\/tr>\n<tr>\n<td>mysql_num_rows<\/td>\n<td>odbc_num_rows<\/td>\n<td>\u00a0conteo de registros y para complementar abajo deje una funcion por un bug que tiene<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>ahora aqui debemos tener en cuenta que cuando pedimos el numero de resultados por alguna razon nunca manda el numero correcto creo que siempre manda con un registro menos pero entonces por que en mi consulta funciono? es que nunca hice comparacion con numeros por que si fuera asi estariamos en ese problema pero siempre va a ver la necesidad de saber cuantos registros reales ahi para eso aqui les dejo una clase que les ayudara con eso.<\/p>\n<pre><code class=\"php\">\r\n\r\nfunction odbc_record_count($sql_id, $CurrRow = 1)\r\n{\r\n    if ($NumRecords=odbc_num_rows($sql_id)<0) {\r\n     $NumRecords = 0;\r\n     odbc_fetch_row($sql_id,0);\r\n     while (odbc_fetch_row($sql_id))\r\n     {\r\n       $NumRecords++;\r\n     }\r\n     odbc_fetch_row($sql_id, $CurrRow);\r\n    }\r\n     return $NumRecords;\r\n}\r\n\r\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"Ya hace tiempo tuve un cliente que quer\u00eda que su web corriera en php de lenguaje del lado del servidor y con SQL SERVER\u00a0 para el motor de base de datos\u00a0 \u00a0entonces \u00a0ahi mucha informaci\u00f3n sobre este tipo de conexi\u00f3n pero la verdad que nos mandan por el desbio. SQL SERVER es un motor de[&#8230;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[42,43],"tags":[46,25,44,45],"class_list":["post-520","post","type-post","status-publish","format-standard","hentry","category-base-de-datos","category-sql-sever","tag-base-de-datos-2","tag-php-2","tag-sql","tag-sql-server"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>conectar php con sql server - Blog Luis Rodriguez<\/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:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"conectar php con sql server - Blog Luis Rodriguez\" \/>\n<meta property=\"og:description\" content=\"Ya hace tiempo tuve un cliente que quer\u00eda que su web corriera en php de lenguaje del lado del servidor y con SQL SERVER\u00a0 para el motor de base de datos\u00a0 \u00a0entonces \u00a0ahi mucha informaci\u00f3n sobre este tipo de conexi\u00f3n pero la verdad que nos mandan por el desbio. SQL SERVER es un motor de[...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Luis Rodriguez\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/luisrodriguez.pe\" \/>\n<meta property=\"article:published_time\" content=\"2014-04-20T17:54:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-05-18T06:46:23+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/luisrodriguez.pe\/blog\/wp-content\/uploads\/2014\/04\/descarga.jpg\" \/>\n<meta name=\"author\" content=\"Luis Rodriguez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@luizmirodriguez\" \/>\n<meta name=\"twitter:site\" content=\"@luizmirodriguez\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Luis Rodriguez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/\"},\"author\":{\"name\":\"Luis Rodriguez\",\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/#\/schema\/person\/ec55de81e01fdaf3533eb78f6a49090c\"},\"headline\":\"conectar php con sql server\",\"datePublished\":\"2014-04-20T17:54:57+00:00\",\"dateModified\":\"2014-05-18T06:46:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/\"},\"wordCount\":308,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/luisrodriguez.pe\/blog\/wp-content\/uploads\/2014\/04\/descarga.jpg\",\"keywords\":[\"base de datos\",\"php\",\"sql\",\"sql server\"],\"articleSection\":[\"Base de datos\",\"Sql Sever\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/\",\"url\":\"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/\",\"name\":\"conectar php con sql server - Blog Luis Rodriguez\",\"isPartOf\":{\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/luisrodriguez.pe\/blog\/wp-content\/uploads\/2014\/04\/descarga.jpg\",\"datePublished\":\"2014-04-20T17:54:57+00:00\",\"dateModified\":\"2014-05-18T06:46:23+00:00\",\"author\":{\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/#\/schema\/person\/ec55de81e01fdaf3533eb78f6a49090c\"},\"breadcrumb\":{\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/#primaryimage\",\"url\":\"https:\/\/luisrodriguez.pe\/blog\/wp-content\/uploads\/2014\/04\/descarga.jpg\",\"contentUrl\":\"https:\/\/luisrodriguez.pe\/blog\/wp-content\/uploads\/2014\/04\/descarga.jpg\",\"width\":241,\"height\":209},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/luisrodriguez.pe\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"conectar php con sql server\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/#website\",\"url\":\"https:\/\/luisrodriguez.pe\/blog\/\",\"name\":\"Blog Luis Rodriguez\",\"description\":\"Analytics Developer\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/luisrodriguez.pe\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/luisrodriguez.pe\/blog\/#\/schema\/person\/ec55de81e01fdaf3533eb78f6a49090c\",\"name\":\"Luis Rodriguez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/3b0f9734b267ecb38e1860734b4caebda4efa8be9a2bb536862b6a2ba23afa82?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3b0f9734b267ecb38e1860734b4caebda4efa8be9a2bb536862b6a2ba23afa82?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3b0f9734b267ecb38e1860734b4caebda4efa8be9a2bb536862b6a2ba23afa82?s=96&d=mm&r=g\",\"caption\":\"Luis Rodriguez\"},\"description\":\"Hola, Soy Luis Rodriguez, radico en Lima \u2013 Per\u00fa, formado en una carrera inform\u00e1tica, desempe\u00f1ando desde el 2007 como programador web y viendo proyectos desde Front End y Back End a lo que me perfile como Full Stack. Esta Experiencia junto a mi inter\u00e9s en la Anal\u00edtica Web me ayud\u00f3 mucho entender el funcionamiento interno de las herramientas de anal\u00edtica, con las que vengo trabajo activamente desde 2017. Linkedin\",\"sameAs\":[\"http:\/\/luisrodriguez.pe\"],\"url\":\"https:\/\/luisrodriguez.pe\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"conectar php con sql server - Blog Luis Rodriguez","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:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/","og_locale":"es_ES","og_type":"article","og_title":"conectar php con sql server - Blog Luis Rodriguez","og_description":"Ya hace tiempo tuve un cliente que quer\u00eda que su web corriera en php de lenguaje del lado del servidor y con SQL SERVER\u00a0 para el motor de base de datos\u00a0 \u00a0entonces \u00a0ahi mucha informaci\u00f3n sobre este tipo de conexi\u00f3n pero la verdad que nos mandan por el desbio. SQL SERVER es un motor de[...]","og_url":"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/","og_site_name":"Blog Luis Rodriguez","article_publisher":"https:\/\/www.facebook.com\/luisrodriguez.pe","article_published_time":"2014-04-20T17:54:57+00:00","article_modified_time":"2014-05-18T06:46:23+00:00","og_image":[{"url":"http:\/\/luisrodriguez.pe\/blog\/wp-content\/uploads\/2014\/04\/descarga.jpg","type":"","width":"","height":""}],"author":"Luis Rodriguez","twitter_card":"summary_large_image","twitter_creator":"@luizmirodriguez","twitter_site":"@luizmirodriguez","twitter_misc":{"Escrito por":"Luis Rodriguez","Tiempo de lectura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/#article","isPartOf":{"@id":"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/"},"author":{"name":"Luis Rodriguez","@id":"https:\/\/luisrodriguez.pe\/blog\/#\/schema\/person\/ec55de81e01fdaf3533eb78f6a49090c"},"headline":"conectar php con sql server","datePublished":"2014-04-20T17:54:57+00:00","dateModified":"2014-05-18T06:46:23+00:00","mainEntityOfPage":{"@id":"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/"},"wordCount":308,"commentCount":0,"image":{"@id":"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/#primaryimage"},"thumbnailUrl":"http:\/\/luisrodriguez.pe\/blog\/wp-content\/uploads\/2014\/04\/descarga.jpg","keywords":["base de datos","php","sql","sql server"],"articleSection":["Base de datos","Sql Sever"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/","url":"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/","name":"conectar php con sql server - Blog Luis Rodriguez","isPartOf":{"@id":"https:\/\/luisrodriguez.pe\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/#primaryimage"},"image":{"@id":"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/#primaryimage"},"thumbnailUrl":"http:\/\/luisrodriguez.pe\/blog\/wp-content\/uploads\/2014\/04\/descarga.jpg","datePublished":"2014-04-20T17:54:57+00:00","dateModified":"2014-05-18T06:46:23+00:00","author":{"@id":"https:\/\/luisrodriguez.pe\/blog\/#\/schema\/person\/ec55de81e01fdaf3533eb78f6a49090c"},"breadcrumb":{"@id":"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/#primaryimage","url":"https:\/\/luisrodriguez.pe\/blog\/wp-content\/uploads\/2014\/04\/descarga.jpg","contentUrl":"https:\/\/luisrodriguez.pe\/blog\/wp-content\/uploads\/2014\/04\/descarga.jpg","width":241,"height":209},{"@type":"BreadcrumbList","@id":"https:\/\/luisrodriguez.pe\/blog\/conectar-php-con-sql-server\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/luisrodriguez.pe\/blog\/"},{"@type":"ListItem","position":2,"name":"conectar php con sql server"}]},{"@type":"WebSite","@id":"https:\/\/luisrodriguez.pe\/blog\/#website","url":"https:\/\/luisrodriguez.pe\/blog\/","name":"Blog Luis Rodriguez","description":"Analytics Developer","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/luisrodriguez.pe\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/luisrodriguez.pe\/blog\/#\/schema\/person\/ec55de81e01fdaf3533eb78f6a49090c","name":"Luis Rodriguez","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/3b0f9734b267ecb38e1860734b4caebda4efa8be9a2bb536862b6a2ba23afa82?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/3b0f9734b267ecb38e1860734b4caebda4efa8be9a2bb536862b6a2ba23afa82?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3b0f9734b267ecb38e1860734b4caebda4efa8be9a2bb536862b6a2ba23afa82?s=96&d=mm&r=g","caption":"Luis Rodriguez"},"description":"Hola, Soy Luis Rodriguez, radico en Lima \u2013 Per\u00fa, formado en una carrera inform\u00e1tica, desempe\u00f1ando desde el 2007 como programador web y viendo proyectos desde Front End y Back End a lo que me perfile como Full Stack. Esta Experiencia junto a mi inter\u00e9s en la Anal\u00edtica Web me ayud\u00f3 mucho entender el funcionamiento interno de las herramientas de anal\u00edtica, con las que vengo trabajo activamente desde 2017. Linkedin","sameAs":["http:\/\/luisrodriguez.pe"],"url":"https:\/\/luisrodriguez.pe\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/posts\/520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/comments?post=520"}],"version-history":[{"count":13,"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/posts\/520\/revisions"}],"predecessor-version":[{"id":548,"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/posts\/520\/revisions\/548"}],"wp:attachment":[{"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/media?parent=520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/categories?post=520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/luisrodriguez.pe\/blog\/wp-json\/wp\/v2\/tags?post=520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}