SQL Server Performance

Ayuda con una consulta!!!! que estoy haciendo mal??

Discussion in 'Preguntas sobre SQL Server en Español.' started by josue rm, Jan 4, 2009.

  1. josue rm New Member

    Al parecer tengo un problema con una consulta y es cuando el registro tiene varios espacios por ejemploej:$var='POLO'; // sin espacio logico
    $var='STATION VAGON'; //un espacio
    $var='POINTER STATION WAGON'; //dos espacios
    lo que me sucede es estosi la variable tiene un espacio o, no tiene espacios, pues me encuantra el registro en la base de datos sql server(o sea la consulta es true)pero si tiene dos espacios no me encuantra nada y en verdad si esta en la base de datos. no se si me explique bien. este es el codigo
    $var="POINTER STATION WAGON";
    echo $sql = "SELECT * FROM Nmodelo WHERE Descripcion = '$var'";
    $resultado = @mssql_query($sql);
    $row = @mssql_fetch_array($resultado);
    $id = $row['IdModelo'];
    $descripcion=$row['Descripcion'];
    $idm = $row['IdMarca'];
    echo $i.' -idModelo->'.$id.'-Modelo->'.$descripcion.''.$idm.'
    ';

    $sql = 'SELECT * FROM Nmodelo';
    $resultado = @mssql_query($sql);
    if ($resultado){
    echo 'Result ok';
    while($row = @mssql_fetch_array($resultado)){
    $id = $row['IdModelo'];
    $descripcion=$row['Descripcion'];
    $idm = $row['IdMarca'];
    echo '$i.' -idModelo->'.$id.'-Modelo->'.$descripcion.''.$idm;
    $i++;
    }
    }
    si cargan la pagina veran que ese valor que trae $var se encuantra en la base de datos.
    ver aquigracias y disculpen la molestia.
  2. Luis Martin Moderator

    Cómo están definidas las variables?
  3. josue rm New Member

    la variavle esta inicializada como una cadena un string
    $var="POINTER STATION WAGON";
    echo $sql = "SELECT * FROM Nmodelo WHERE Descripcion = '$var'";
    esta es la consulta que no me devuelve nada.
    Pero mas abajo hago la otra consulta
    $sql = "SELECT * FROM Nmodelo";
    y esta consulta me devuelve los registros de esta tabla y me debuelve que existe el valor POINTER STATION WAGON
    no se que sucede??
  4. Luis Martin Moderator

    Hay alguna cosa que no entiendo.Las variables se definen de alguna manera. Por ejemplo:Declare @var as varchar(50).También es válido:Declare @$var as varchar(50).Por eso pregunto cómo están definidas las variables.
  5. josue rm New Member

    como tu dices no. yo en php creo una variable y le asigo un valor si lleva comilla ya estoy diciendo que es un string, no se como hacerlo a varchartlo que si se es que en la base de datos sqlserver el campo descripcion es de tipo varchart.ya he probado de varias formas y hasta ahora nada.incluso hago una coneccion $sql="SELECT * FROM Ntabla WNERE Description LIKE '$var%'; y me funciona con cualquier valor que tenga $var en ese campo descripcion, pero si $var='POINTER STATION WAGON' no me encuentra nada es como si no existiera y si existe en la base de datos.Gracias por ayudarme estoy desesperado con ese error pues ya no se que hacer...
  6. josue rm New Member

    Luis gracias por tu cordial ayuda al parecer existia un caracter especial en ese registro de la base de datos, y ya cuando llene bien el campo en la base de datos pues ya. solution resuelta.un saludo. y gracias.
  7. Luis Martin Moderator

    Fue un placer. Quiero aclararte que no me di cuenta que era PHP!!

Share This Page