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.
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??
Hay alguna cosa que no entiendo.Las variables se definen de alguna manera. Por ejemploeclare @var as varchar(50).También es válidoeclare @$var as varchar(50).Por eso pregunto cómo están definidas las variables.
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...
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.