无法使用PHP ODBC连接写入MS SQL数据库


Cannot write to MS SQL database using PHP ODBC connection

问题:我可以使用odbc_exec在PHP中成功使用选择查询,但是,我不能执行INSERT INTO or UPDATE查询。

参考资料:Windows Server 2003: IIS 6, SQL Server 2005. 下面是我的代码:
<?php
require('../_DSN/DSN_M.php');
$cnnOra = odbc_connect($strarrDSN['dsn'], $strarrDSN['username'], $strarrDSN['pswd']);
$res_slct = odbc_exec($cnnOra, " select * FROM person;") or die (odbc_errormsg());
odbc_result_all($res_sldr);
$sqlupd = "UPDATE person SET person_ame='Steve Woz' WHERE pk_person_ID = '32';"
$res_upd = odbc_exec($cnnora, $sqlupd) or die(odbc_errormsg());      
$res_cmt = odbc_commit($cnnora);
var_dump($res_upd);
var_dump($res_slct);
var_dump($res_cmt);
// close the connection 
odbc_close($cnnOra); 
?>

显示SELECT查询的输出,页面上没有errormsg或var_dump结果。

下面是SELECT查询的输出:

pk_person_ID fk_SSN    fk_qual1_ID fk_qual2_ID person_Name 
31           999999999 1           1           bobby buchier 
32           999999999 2           2           Frank Gifford 

我错过了什么吗?

我找到了解决方案。我不确定为什么当我的原始代码没有工作。

我需要使用odbc_prepare,然后是odbc_exec。下面是为我工作的代码:

$q = "UPDATE person SET person_name = 'Steve Woz' WHERE pk_person_ID = '32'"; 
$res = odbc_prepare ($cnnOra, $q) or die (odbc_errormsg()); 
$exc = odbc_execute($res) or die (odbc_errormsg());

这也适用于INSERT INTO查询。非常感谢@andrewsi!