【发布时间】:2013-06-29 00:27:18
【问题描述】:
我是 PHP 新手,我看了一个关于 SQL 和 PHP 的教程,并制作了这些文件:
插入_news.php:
require_once __DIR__ .'/db_connect.php';
$sql = "INSERT INTO news ( descriere, data, autor) VALUES (?, ?, ?)" ;
$params = array("The description", "12/11/2011", "COsmin");
$serverName = "my server";
$connectionInfo = array( "Database"=>"myusername", "UID"=>"myusername", "PWD"=>"mypassword");
$conn = sqlsrv_connect($serverName, $connectionInfo );
$stmt = sqlsrv_query( $conn , $sql, $params );
if( $stmt == false ) {
echo("NOT");
die( print_r( sqlsrv_errors(), true));
}
?>
这段代码似乎运行良好。
现在我的问题是我想创建一个类,使与数据库的连接更容易。 代码如下:
db_connect.php
<?php
class DB_CONNECT {
function __construct(){
$this->connect();
}
function __Destruct(){
$this->close();
}
function connect() {
$serverName = "my server";
$connectionInfo = array( "Database"=>"my db", "UID"=>"my user", "PWD"=>"my pass" );
$con = sqlsrv_connect($serverName, $connectionInfo );
return $con;
}
function close(){
sqlsrv_close();
}
}
?>
如果我想像这样从我的 insert_new.php 文件中调用这个类:
<?php
require_once __DIR__ .'/db_connect.php';
$sql = "INSERT INTO Stiri ( descriere, data, autor) VALUES (?, ?, ?)" ;
$params = array("ASta e o stvnmbvire aduagata printr-un web service php", "12/11/2011", "COsn");
$conn = new DB_CONNECT() ;
$stmt = sqlsrv_query( $conn , $sql, $params );
if( $stmt == false ) {
echo("NU");
die( print_r( sqlsrv_errors(), true));
}
?>
当我尝试这个时,我的服务器返回给我:
警告:sqlsrv_query() 期望参数 1 是资源,在第 9 行的 C:\xampp\htdocs\android_connect\insert_news.php 中给出的对象 NUArray ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -14 [code] => -14 [2] => 传递给 sqlsrv_query 的参数无效。[消息] => 向 sqlsrv_query 传递了一个无效参数。))
我提到我使用 XAMPP 编译 php 文件,数据库是 SQL Server 2005... 对不起,如果我把你的时间浪费在我的傻事上......
【问题讨论】: