我遵循了这里的说明
使用PDO, ODBC和FreeTDS从PHP访问Microsoft SQL Server
设置odbc
然后不知怎么的,我让它工作了,但不完全。如果我使用完整的查询语句,它返回
结果正确,但如果我稍后绑定数据,没有从DB端响应…我只是得到铬
"No Data Received"页。
Environment: PHP Version 5.3.2-1 ubuntu4.26
我代码:$conn=new PDO("odbc:Driver=FreeTDS; Server=Mssql host; Port=1433;
Database=dbname; UID=userid; PWD=pw");
如果我使用这个:
$sql="Select * from customer where email='abc@gmail.com'";
$stmt=$conn->prepare($sql);
$stmt->execute();
$row=$stmt->fetch(PDO::FETCH_ASSOC);
print_r($row);
从数据库中正确获取数据
但是如果我用这个
$sql="Select * from customer where email= ? ";
$stmt=$conn->prepare($sql);
$stmt->execute(array('abc@gmail.com'));
$row=$stmt->fetch(PDO::FETCH_ASSOC);
print_r($row);
我得到chrome"没有数据收到"与一个悲伤的脸页面图标。
我试着抓住那些代码,但是…在这种情况下没有帮助。
我不知道是我在odbc设置过程中错过了什么,还是别的什么。
实际上,我想知道你们用哪种驱动程序/方式来使用MS SQL DB(2008)在
中使用phpLinux (ubuntu)环境?我在开始时使用dblib
(它有效),但在
阅读更多,我发现PHP不建议人们使用dblib
,他们认为我们应该使用
odbc
,但它并没有真正起作用。
您的连接变量命名不同:
$conn=new PDO("odbc:Driver=FreeTDS; Server=Mssql host; Port=1433;
Database=dbname; UID=userid; PWD=pw");
然后是
$stmt=$connNc->prepare($sql);