Foros del Web » Programando para Internet » PHP »

Como pasar un codigo PHP Mysql a MSSQL

Estas en el tema de Como pasar un codigo PHP Mysql a MSSQL en el foro de PHP en Foros del Web. Bueno amigos tengo una consulta encontre un codigo el cual funciona perfectamente en MYSQL, pero el problema es que ahora tengo que usar el MSSQL ...
  #1 (permalink)  
Antiguo 08/04/2010, 06:45
 
Fecha de Ingreso: marzo-2010
Mensajes: 24
Antigüedad: 14 años, 1 mes
Puntos: 0
Como pasar un codigo PHP Mysql a MSSQL

Bueno amigos tengo una consulta encontre un codigo el cual funciona perfectamente en MYSQL, pero el problema es que ahora tengo que usar el MSSQL como hago para transformar este codigo para que funcione correctamente con MSSQL muchas gracias espero que me puedan ayudar, el codigo es el siguiente:

Código PHP:
<?php
                
// Main Settings - Edit this lines

        
$options = array (
                
'DBHost'                => 'localhost',
                
'DBUser'                => 'sa',
                
'DBPass'                => '********',
                
'DBName'                => '******',
                
'PasswordName'          => 'pid',
                
'PasswordValue'         => '*******',
                
'CashPerSMS'            => '1000',
        );

        
// Main Source - No edit required, do it just if you know

        
class sql {
                
// Constructor
                
function sql() {
                        global 
$options;

                        
$this->connection = @mysql_connect($options['DBHost'],$options['DBUser'],$options['DBPass'])
                                OR die(
'MySQL Connection Error...');
                        
mysql_select_db($options['DBName'])
                                OR die();
                }

function 
query($query) {
       
$result mysql_query($query,$this->connection) or die ('Error MySQL: '.mysql_error());
 
       return 
$result;
                }

                function 
fetchrow($result) {
                        return 
mysql_fetch_row($result);
                }

                function 
fetcharray($result$type MYSQL_ASSOC) {
                        return 
mysql_fetch_array($result,$type);
                }

                function 
numrows($result) {
                        return 
mysql_num_rows($result);
                }

                function 
escapestr($string)
                {
                        return 
mysql_escape_string($string);
                }

                function 
freeresult($result)
                {
                        
mysql_free_result($result);
                }

        } 
// Sql Class
        
        
if( isset($_GET['code']) && isset($_GET['login']) && isset($_GET['country']) && isset($_GET[$options['PasswordName']]) && $_GET[$options['PasswordName']] == $options['PasswordValue'] ) 
        {
                
$mysql = new sql();
                
$login $mysql->escapestr(trim($_GET['login']));
                
$code $_GET['code'];
                
$country $mysql->escapestr(trim($_GET['country']));

                
// Searching for the Account
                
$result $mysql->query("SELECT `id`, `coins` FROM `account` WHERE `login` = '$login';");
$data $mysql->fetcharray($result);
 
if (
count($data) != 0) {
                        
$puntos['VE'] = 4;
                        
$puntos['AT'] = 7;
                        
$puntos['SZ'] = 9;
                        
$puntos['DE'] = 7;
                        
$puntos['ES'] = 22;
                        
$puntos['BE'] = 11;
                        
$puntos['MX'] = 5;
                        
$puntos['HO'] = 12;
                        
$puntos['AR'] = 5;
                        
$puntos['AU'] = 11;
                        
$puntos['BO'] = 6;
                        
$puntos['CH'] = 4;
                        
$puntos['CO'] = 7//etc etc!
                        
$puntos['EC'] = 5;
                        
$puntos['FR'] = 10;
                        
$puntos['IR'] = 12;
                        
$puntos['NO'] = 14;
                        
$puntos['PE'] = 4;
                        
$puntos['PT'] = 10;
                        
$puntos['SE'] = 17;
                        
$id $data['id'];
                        
$coins $data['coins'];
                        
                        
// Update Account, adding Cash Points
                        
$mysql->query("UPDATE `account` SET `coins` = `coins` + '" $puntos[$country] . "' WHERE `id` = '$id'");
                        
// Log Entry to the Database
                        
$mysql->query("INSERT INTO `smslog` (`id`, `login`, `code`, `country`, `time`) VALUES ('$id', '$login', '$code', '$country', NOW())");

                        
// Confirmation Message
                        // You can edit it but do not remove the first OK because it confirms to sepomo the SMS have been registered.
                        
echo 'OK Gracias por tu aporte. Tus Coins pronto estaran disponibles. MT2 Guabina';
                }  
               else
                {
                        
// Log Wrong SMS - Can be found with account_id = 0
                        
$mysql->query("INSERT INTO `smslog` (`id`, `login`, `code`, `country`, `time`) VALUES ('0', '$login', '$code', '$country', NOW())");
                        echo 
'Error!!!';
                }
                }
else echo 
'Parametros erroneos';
?>
  #2 (permalink)  
Antiguo 08/04/2010, 09:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Como pasar un codigo PHP Mysql a MSSQL

En lugar de usar las funciones de MySQL tienes que usar las de MSSQL.

Saludos.
  #3 (permalink)  
Antiguo 08/04/2010, 09:29
 
Fecha de Ingreso: marzo-2010
Mensajes: 24
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Como pasar un codigo PHP Mysql a MSSQL

Claro GatorV eso queda ya predetermina que es lo que se tiene que hacer jeje... pero la cuestion es que no se cuales son las funciones mssql con las que tengo que sustituir las mysql porque no se la variacion o la igualdad entre una y otra! por ejemplo ahorita trata de hacer un cambio en una y me solto un error

Fatal error: Call to undefined function mssql_escape_string() in C:\AppServ\www\gcorp.php on line 47

supongo que mssql_escape_string no es un funcion verdadera del mssql por eso es que me gustaria que me ayudaran gracias GatorV
  #4 (permalink)  
Antiguo 08/04/2010, 09:39
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Como pasar un codigo PHP Mysql a MSSQL

La mayoría de funciones que hay en MySQL tienen su clon en MSSQL, pero creo que mysql_escape_string() es una función especifica y especial de MySQL y que no hay otra parecida para MSSQL, pero puedes reemplazarla por la función tipica de addslashes, que también sirve para escapar un string.

Un saludo
  #5 (permalink)  
Antiguo 08/04/2010, 09:39
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Como pasar un codigo PHP Mysql a MSSQL

Leiste el enlace que dejo GatorV? Ahi vienen las funciones de mssql que existen en php, si no hay equivalente, por ejemplo la de mysql_escape_string(), tendras que implementarla tu.
  #6 (permalink)  
Antiguo 08/04/2010, 09:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Como pasar un codigo PHP Mysql a MSSQL

Si lees los enlaces que te deje, puedes ver la API de MSSQL, ya que no son iguales, y no tienen las mismas funciones, hay algunas que se parecen.

Si quieres llegar a un nivel de abstracción así, necesitas usar un driver que te lo permita hacer como ODBC, o aún mejor PDO.

Saludos.
  #7 (permalink)  
Antiguo 08/04/2010, 09:55
 
Fecha de Ingreso: marzo-2010
Mensajes: 24
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Como pasar un codigo PHP Mysql a MSSQL

Creo que se me hara un poco dificil hacer la conversion porque este es un codigo que consegui y le hice unas modificaciones no fue que lo hice yo mismo desde 0 y creo que no tengo los conocimientos suficientes como para pasarlo a mssql por eso fue que les pedi ayuda, pero gracias de todas maneras, y muchas gracias por los manuales los leere a ver si logro algo!

Etiquetas: mssql, mysql, pasar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:55.