2016-07-10 3 views
0

У меня есть хост SQL-сервера на Microsoft Azure, я пытался запросить некоторые данные из него в Visual Studio. Это работает, однако, я просто получаю 500 код ошибки, когда я пытаюсь выполнить запрос с помощью PHP. У меня что-то не так? Вот мой кодПродолжайте получать код ошибки 500 при запросе SQL-сервера

try{ 
     $conn = new PDO (not shown for privacy reason); 
     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    }catch(PDOException $e){ 
     header("Content-type: plain/text"); 
     print($e->getMessage()); 
    } 

    $name = $conn->quote($name); 
    $pw = $conn->quote($pw); 

    $account = $conn->query("SELECT [user] 
          FROM dbo.user_data 
          WHERE [user] LIKE $name AND [password] LIKE $pw"); 

    return $account[0]; 
+0

должно быть больше в ваших журналах ошибок –

+0

@ Ответ EpochGalaxy верен. Кроме того, вы можете включить 'display_errors' в среде выполнения PHP, для устранения неполадок, обратитесь к https://azure.microsoft.com/en-us/documentation/articles/web-sites-php-configure/#how-to- change-the-built-in-php-configurations для получения дополнительной информации –

ответ

0

Во-первых, PDO :: запрос - выполняет оператор SQL, возвращая результирующий набор в качестве объекта PDOStatement. $ счет [0] приведет к фатальной ошибке «Не удается использовать объект типа PDOStatement как массив» Итак, вы должны сделать это после того, как код, чтобы получить доступ к каждому значению строки, как:

$account = $conn->query("SELECT [user] 
          FROM dbo.user_data 
          WHERE [user] LIKE $name AND [password] LIKE $pw"); 
foreach ($account as $row) { 
     print_r($row); 
    } 

Надежда это решает проблему , Благодарю.

Смежные вопросы