【发布时间】:2015-07-31 17:10:11
【问题描述】:
客户已在 Azure 云上设置 SQL 数据库。我正在尝试使用 PDO 进行连接,但是当我尝试访问表的数据时,我会收到一条错误消息。
我的连接代码:
try {
$db = new PDO('sqlsrv:server=tcp:serverid.database.windows.net,1433;Database=testdb','user','pass');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (Exception $e) {
echo "Error " . $e->getMessage();
}
这工作正常并且不会产生错误。我要插入的代码...
try {
$sql = "INSERT INTO tablename (introduction) VALUES (:introduction)";
$q = $db->prepare($sql);
$q->execute(array(':introduction'=>'hi'));
} catch (Exception $e) {
echo "Error " . $e->getMessage();
}
我从中得到以下错误
Error SQLSTATE[42S02]: [Microsoft][SQL Server Native Client 11.0][SQL Server]Invalid object name 'tablename'.
Tablename 绝对是一个确实存在的表。我们已经检查了权限,但不相信是这样。我被困住了。 PDO 对我来说是新的,所以我不知道我是否遗漏了什么明显的东西??
【问题讨论】:
标签: php sql-server azure pdo