1

別のファイルに保存されているデータベース構成で、PHP を介して SQL クエリを実行しようとしています。

以下はPHPファイルです:

ファイル: db_config.php

<?php
define('DB_DATABASE', "androidhive"); // database name
define('DB_SERVER', "MAVERICK"); // db server
?>

ファイル: db_connect.php

<?php

/** A class file to connect to database */

class DB_CONNECT
{
    // constructor
        function __construct() 
    {
            // connecting to database
            $this->connect();
        }

        // destructor
        function __destruct() 
    {
            // closing db connection
            $this->close();
        }

    /** Function to connect with database */
    function connect()
    {
            // import database connection variables
            require_once __DIR__ . '/db_config.php';

           // Connecting to SQL Server database
            $serverName = DB_SERVER; 
        $connectionInfo = array("Database"=>DB_DATABASE);       
        $conn = sqlsrv_connect($serverName, $connectionInfo) or die(sqlsrv_errors());  
        return $conn;
    }

    /** Function to close the database connection */
    function close()
    {
        sqlsrv_close();
    }
}
?>

ファイル: get_all_products.php

<?php 
/*
 * Following code will list all the products
 */

// array for JSON response
$response = array();

// include db connect class
require_once __DIR__ . '/db_connect.php';

// connecting to db
$db = new DB_CONNECT();

// get all products from products table
$result = sqlsrv_query($db,"SELECT * FROM products");

if( $result ) {
     echo "Query executed.<br />";
}else{
     echo "Query could not executed.<br />";
     die( print_r( sqlsrv_errors(), true));
}

?>

残念ながら、それは戻ってきています。データベース接続は成功です。sqlsrv_query が機能しない理由を見つけるのに苦労しています。

Query could not executed.
Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -14 [code] => -14 [2] => An invalid parameter was passed to sqlsrv_query. [message] => An invalid parameter was passed to sqlsrv_query. ) )

これに関するヘルプは非常に役立ちます。

ありがとう !!!

4

1 に答える 1

1

db 接続オブジェクトをクラス メンバーに割り当てます。

function __construct() 
{
    // connecting to database
    $this->db_conn = $this->connect();
}

次に、次のように使用します。

$result = sqlsrv_query($db->db_conn,"SELECT * FROM products");
于 2013-01-29T05:40:45.097 に答える