我们必须总结一下PDO连接,我们首先准备()一个查询,然后我们用几个参数执行它。
$slug1 = "store1";
$slug2 = "it";
$o = new PDO('odbc:Store_tasks');
$stmt = $o->prepare("SELECT BLALALALA.....JOINS BLALALA WHERE S.slug = ? AND P.slug = ?");
$result = $stmt->execute(array($slug1, $slug2));
这失败了,但我发现如果我使用:
$o->query("SELECT BLALALALA.....JOINS BLALALA WHERE S.slug = 'store1' AND P.slug = 'it'");
Works(由我自己构建查询字符串)!很遗憾,我无法远程访问此错误消息或确切的错误消息;但是我需要一些想法,一旦到达那里就试图解决这个问题。
这些是Windows / MS Sql服务器。 (根本不是我的偏好或经验)。 它可能是charset?将DSN设置为某种类似
'odbc:Store_tasks&charset=utf8'
或者可能使用:
PDOStatement::bindParam to set up some params?
问题是,在我们的测试服务器上,Windows / MSSql也没有任何问题(版本可能不同)。
我可以尝试其他任何建议吗?