Google Cloud SQL - 使用PHP连接和插入

时间:2014-01-28 18:36:27

标签: php database pdo google-cloud-sql

我无法完成这项工作。我已经阅读了所有的PHP“入门”文档,我相信我已经设置了一切,就像我应该的那样,但我无法让我的插件工作。我有这个:

 <?php
echo "Hello!";

$db = new PDO('mysql:unix_socket=/cloudsql/myApp:myInstance;charset=utf8',
  'root',
  ''
);

$name = "My Name";

 $sql = "INSERT INTO players (playerName, dateCreated) VALUES (:name, NOW())";
$stmt = $db->prepare($sql);
$stmt->bindParam(':name', $name);

$stmt->execute();


echo "We connected!";
?>

我正在尝试连接到我的数据库调用“myGameDatabase”并从“players”表中拉出来。当我部署它,并在浏览器中运行example.appspot.com时,我看到一个打印Hello的页面!我们连接了!

所以,既然我看到了“我们连接”的消息,这让我相信没有任何错误,它就会通过。我不相信它会经历。

使用mysql客户端我可以查看播放器表,我看不到任何行。我刚刚将我的云sql所有数据库导出到云存储桶,并且基于它也看起来没有行:

--
-- Table structure for table `players`
--

DROP TABLE IF EXISTS `players`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `players` (
  `playerId` int(11) NOT NULL AUTO_INCREMENT,
  `playerName` varchar(100) NOT NULL,
  `dateCreated` datetime DEFAULT NULL,
  `facebookId` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`playerId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 *!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `players`
--

LOCK TABLES `players` WRITE;
/*!40000 ALTER TABLE `players` DISABLE KEYS */;
/*!40000 ALTER TABLE `players` ENABLE KEYS */;
UNLOCK TABLES;

 --
-- Current Database: `mysql`
--

正如您所看到的,当它转储表数据时,没有任何内容。

修改 另外,有些人可能会说一个不同的主题,但请注意我有''作为我的密码。这是因为无论何时我在“访问控制”选项卡中设置root密码,我都会在构造PDO对象时收到错误,说明它无法连接root @ localhost和密码“myPassword”。所以我不得不为'root'=密码('')做SET密码;这是正常的吗?

0 个答案:

没有答案