2010-08-23 11 views
5

Más o menos lo que dice en el título. Estoy intentando conectar con una base de datos Microsoft SQL Server con una contraseña que contiene un símbolo de unión:y contraseña en problema de contraseña - php

<?php 
    $mssqlHost = "Reports.autotask.net,1433"; 
    $mssqlUser = 'NetworkROI'; 
    $mssqlPass = 'Rosdcpe7&Essdcscpalda'; //has been changed 
    $mssqlATDB = 'TF_3745000_WH'; 
    $SQLConnect = mssql_connect($mssqlHost,$mssqlUser,$mssqlPass) 
     or die('Could not connect to SQL Server on '.$mssqlHost 
     .' '. mssql_get_last_message()); 
?> 

En un asunto relacionado, posiblemente: Estoy recibiendo un mensaje “Error 101 (net :: ERR_CONNECTION_RESET): Error desconocido. "Mensaje cuando trato de conectarme.

¿Cómo puedo escapar?

Jonesy

+4

¿Por qué necesitas escapar? –

+2

Indíquenos el método que usa para conectarse a DB, y qué tipo de DB ... – canni

+0

ha actualizado mi pregunta – iamjonesy

Respuesta

5

Sólo se necesitaría para escapar de un símbolo de unión en su cadena de solicitud HTTP si se le pasa con una petición GET, que que nunca debe hacer porque eso sería transmitir la contraseña en texto plano en su URL. Use una solicitud POST y protocolo HTTPS cuando envíe datos confidenciales.

No necesita escapar un ampersand en una consulta SQL. Esto es perfectamente válida de SQL:

SELECT ... FROM Accounts WHERE user = 'Jonesy' AND password = 'M&Ms are tasty' 

Pero también recomiendo aprender a utilizar los parámetros de consulta:

SELECT ... FROM Accounts WHERE username = ? AND password = ? 

Entonces nunca tiene que preguntarse cómo escapar de este personaje o cual personaje nuevo. Un parámetro de consulta SQL es la mejor manera de enviar un valor dinámico sin necesidad de que se indique o se escape.


Re pregunta actualización:

la búsqueda de ese mensaje de error me lleva a muchas otras personas que utilizan Google Chrome como su navegador web, que reciben el error cuando han cambiado su configuración de proxy de Internet, o arruinó su navegador o configuración de red de alguna otra manera.

Así que concluyo que tiene un problema de red, no tiene nada que ver con su código o contraseña.

Cuestiones relacionadas