【问题标题】:Why does my php web app doesn't get data from the database?为什么我的 php web 应用程序没有从数据库中获取数据?
【发布时间】:2018-05-24 13:25:14
【问题描述】:

好的,所以我在 Azure 中有一个 PHP Web 应用程序,但是每当我从已连接到该应用程序的 SQL 数据库发出数据请求时,它会将我重定向到一个空屏幕,如下所示: enter image description here

例如,我有一个登录屏幕,但每当我插入用户名和密码并按登录时,必须通过加载存储在数据库中的用户名行并将其与用户输入的内容进行比较来进行验证。但什么也没发生,它只是将我重定向到那个空屏幕。我在本地测试了同一个应用程序,它运行良好,但在 Azure 中它不起作用。知道为什么会这样吗?

【问题讨论】:

  • 这里面有代码吗?你用令人沮丧的模糊术语来描述事情。出现空白屏幕的原因有很多。如果没有错误,任何人都可以猜测出什么问题。 检查错误日志
  • 白屏死机:错误检查\显示已关闭,打开它们以查看错误。在您的 php 页面顶部添加:ini_set('display_errors', 'On'); ini_set('html_errors', 0); error_reporting(-1);
  • 对不起,缺少信息,我认为问题与代码无关,当我在本地使用 Wampserver64 应用程序时,它工作得非常好,一些上下文(请耐心等待我因为英语不是我的母语):我首先在 Azure 中创建了一个空的 PHP Web 应用程序,然后我创建了一个 SQL 数据库(我没有使用 Web 应用程序+SQL 选项,我分别创建了它们),然后我创建了一个数据库上名为“tbuser”的表,具有用户名和密码属性。然后我将我在本地使用的已经编程的应用程序迁移到我在 Azure 中创建的空应用程序。
  • 如果不是代码问题,那是你来错地方了
  • 嗯,你说你使用 WAMP?那不使用MySQL服务器吗? Web App + SQL 生成一个 Azure SQL 数据库,它不是 MySQL 数据库:)

标签: php sql database azure web


【解决方案1】:

您可以创建一个 PHP 文件并将以下内容放入其中以检查您的应用程序是否可以连接到 Azure SQL 数据库:

<?php

//PHP Data Objects(PDO) Sample Code
$dsn = 'sqlsrv:server = tcp:{your_servername_here}.database.windows.net,1433';
$user = '{your_usename_here}';
$password = '{your_password_here}';

try {
    $conn = new PDO($dsn, $user, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
    print("Error connecting to SQL Server.");
    die(print_r($e));
}

echo "Success: A proper connection to Azure SQL Database was made!";

?>

如果您的测试不成功,您通常会收到一条消息,准确描述出了什么问题。常见问题包括:

  • Azure SQL 数据库的服务器名称不正确
  • 用户名/密码无效
  • 数据库名称不正确
  • 数据库服务器上的访问块

如果您遇到任何错误,请仔细检查连接信息。

更多详情请见Use PHP to query an Azure SQL database

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    • 2017-07-18
    • 2012-04-24
    相关资源
    最近更新 更多