我知道我的问题是重复的,但我今天无法找到解决方案。我有两个文件数据库连接:
<?php
$serverName ="host\SQLEXPRESS";
$usr="sa";
$pwd="SysAdmin";
$db="db_name";
//$connectionInfo = array("UID" => $usr, "PWD" => $pwd, "Database" => $db);
//$conn = sqlsrv_connect($serverName, $connectionInfo);
$conn = new PDO("sqlsrv:Server=host\SQLEXPRESS;Database=db_name", "sa", "SysAdmin");
?>
我的操作文件:
<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
require_once 'db1.php';
$name='11111';
$sql_user = $conn -> sqlsrv_prepare("SELECT * FROM table_name WHERE id= :name");
$sql_user -> sqlsrv_execute(array(':name' => $name));
while($row = sqlsrv_fetch_array($sql_user))
{
echo $row['name'];
}
?>
我收到此错误:
Fatal error: Call to undefined method PDO::sqlsrv_prepare() on line 7
答案 0 :(得分:2)
sqlsrv_*
。
PDO-API在所有数据库驱动程序中都是相同的。这就是PDO背后的想法。
<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
require_once 'db1.php';
$name='11111';
$sql_user = $conn->prepare("SELECT * FROM table_name WHERE id= :name");
$sql_user->execute(array(':name' => $name));
$row = $sql_user->fetchAll();
var_dump($row);
<强>更新强> 只得到名称行:
$row = $sql_user->fetch(PDO::FETCH_ASSOC);
var_dump($row['name']);
PHP Manual PDOStatement::fetch
PDO :: FETCH_ASSOC:返回由返回的列名索引的数组 在结果集中