首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP ()不是专门针对Google工作的

问PHP ()不是专门针对Google工作的
EN

Stack Overflow用户
提问于 2016-03-10 19:55:42
回答 1查看 113关注 0票数 0

我们已经有了一个使用pdo代码的PHP脚本和一个mySQL数据库,在运行了几周之后,它们都托管在我们的ISP标准LAMP堆栈上,没有任何问题。Boss希望部署到和CloudSQL上。CloudSQL使用相同的数据填充。从本地机器上的GAE实现中运行它,指向mySQL和CloudSQL,在这两种情况下都运行良好。

在将PHP代码部署到云中的GAE并更改pdo连接字符串以适应GAE到CloudSQL连接时,我们得到以下错误:

致命错误:调用非对象上的成员函数fetchColumn() .

代码语言:javascript
复制
include 'database.php';     //pdo connection with try|catch confirming connection.
$pdo = Database::connect(); //No problems here.  We have connection object.
$sql = "SELECT Count(CatalogID) FROM Catalog";
$rows = $pdo->query($sql)->fetchColumn(); //This is the line that throws the error.

为什么GAE处理方式不同?

有什么解决办法吗?(我强烈希望不调用rowCount()来反对“从目录中选择CatalogID;”。有太多的唱片不能带回来了。似乎效率低下。)

EN

回答 1

Stack Overflow用户

发布于 2016-03-10 21:39:13

找到了。查询($sql)部分由于$pdo不知道要查询CloudSQL实例中的哪个数据库而失败。CloudSQL仪表板有一个链接“如何连接到您的CloudSQL实例”。因为我复制并粘贴了这个连接代码,所以我忽略了它缺少dbname组件。

Google在mysqli部分中包含dbname部分,但没有包含“如何连接到CloudSQL实例”的pdo部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35926005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档