【问题标题】:Selecting data from SQL Server Using PHP使用 PHP 从 SQL Server 中选择数据
【发布时间】: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 脚本并且它可以工作,所以我假设它与数据库的连接问题,但我在这里错过了什么?谢谢

额外:

我有:

【问题讨论】:

    标签: php sql sql-server xampp


    【解决方案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);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-20
        • 2022-01-23
        • 2016-08-31
        相关资源
        最近更新 更多