使用 PHP 从 SQL Server 中选择数据

Posted

技术标签:

【中文标题】使用 PHP 从 SQL Server 中选择数据【英文标题】:Selecting data from SQL Server Using PHP 【发布时间】:2019-01-19 14:12:38 【问题描述】:

我正在尝试使用 php 从我的 PC 上的本地数据库中选择数据,但是当我运行 127.0.0.1/test.php 文件时出现此错误。

错误:

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in 
C:\xampp\htdocs\test.php:11 Stack trace: #0 main thrown in 
C:\xampp\htdocs\test.php on line 11

这是我的 PHP 脚本:

  <?php
    $servername = "Windows local servername";
    $username = "Windows username";
    $password = "windows password";
$dbname = "dbname";

// Create connection
$conn = mysql_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn)
    die('error connecting to database');
else
    mysql_select_db(dbname, $conn);


$sql = "SELECT UserId, UserEmail, UserPassword FROM User";
$result = $conn->query($sql);

if ($result->num_rows > 0) 
    // output data of each row
    while($row = $result->fetch_assoc()) 
        echo "id: " . $row["UserId"]. " - UserEmail: " . $row["UserEmail"]. " " . $row["UserPassword"]. "<br>";
    
 else 
    echo "0 results";

$conn->close();
?>

我在网上四处查看,但我无法弄清楚这里有什么问题。我可以运行一个 hello world php 脚本并且它可以工作,所以我假设它与数据库的连接问题,但我在这里错过了什么?谢谢

额外:

我有:

【问题讨论】:

【参考方案1】:

尝试运行

phpinfo() 

然后寻找mysql 扩展,在ubuntu 中你可以通过输入来安装它们

sudo apt-get install php-pdo-mysql

无论如何,您尝试使用的指令在 HP 5.5.0 中已被弃用,并在 PHP 7.0.0 中被删除,所以可能这就是它丢失的原因...取决于您的 PHP 版本,您可以尝试使用 @987654325 @ 扩展名改为:

$mysqli = mysqli_connect("example.com", "user", "password", "database");
$res = mysqli_query($mysqli, "SELECT 'Please, do not use ' AS _msg FROM DUAL");
$row = mysqli_fetch_assoc($res);
echo $row['_msg'];

例如,您可以在http://php.net/manual/en/mysqli.quickstart.dual-interface.php 获得有关使用 PHP7 执行此操作的实际方式的更多信息

【讨论】:

我使用的是 php 7.2.8【参考方案2】:

来自the docs

此扩展在 PHP 5.5.0 中被弃用,并在 PHP 中被删除 7.0.0。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。

您可能希望使用Microsoft's drivers for PHP for SQL Server 而不是 PDO 中的 ODBC 驱动程序。

【讨论】:

【参考方案3】:

代替 $conn = mysql_connect($servername, $username, $password, $dbname); 采用 $connectioninfo=array("Database"=>"dbname", "UID"=>"userid", "PWD"=>"password", );

$con = sqlsrv_connect($server,$connectioninfo);

【讨论】:

以上是关于使用 PHP 从 SQL Server 中选择数据的主要内容,如果未能解决你的问题,请参考以下文章

从 sql server 获取选定的值到 php 中的下拉列表

在 iOS、PHP 和 JSON 中使用来自 SQL Server 的空值

使用 html 和 php 从 xampp sql server 获取数据

使用 sql server 从数据库中选择值到另一个

PHP SQL Server 数据库选择

如何使用 PHP 显示 SQL Server 表数据?