我正在尝试创建一个显示教师电子邮件的程序。这些老师的姓名和电子邮件地址在数据库中。
我从Google那里获取了示例代码并对其进行了修改,但是它似乎不起作用。我也无法解决该错误,因为给出的消息是“未知错误”。我应该如何调试/修复此错误?
我已经重新启动了sql server,并尝试了许多方式来调整代码,但是它似乎并不想给我我的结果:(我也将gae应用程序也添加到了数据库的应用程序列表中。
相关代码段位于:
为了安全起见,我更改了代码,以使IP为111.111.111.111,数据库为db。
<h2>Teachers:</h2>
<?php
// Create a connection.
$db = null;
if (isset($_SERVER['SERVER_SOFTWARE']) &&
strpos($_SERVER['SERVER_SOFTWARE'],'Google App Engine') !== false) {
// Connect from App Engine.
try{
$db = new PDO('mysql:host=111.111.111.111:3306;dbname=db', 'root', 'password');
}catch(PDOException $ex){
die(json_encode(
array('outcome' => false, 'message' => 'Unable to connect.', 'error' => $ex->getMessage())
)
);
}
}
try {
// Show existing guestbook entries.
foreach($db->query('SELECT * from db.teacher') as $row) {
echo "<div><strong>" . $row['title'] . " " .$row['name'] . "</strong> has email <br> " . $row['email'] . "</div>";
}
} catch (PDOException $ex) {
echo "An error occurred.";
}
$db = null;
?>
当我访问该网站时,会遇到以下问题:
Teachers:
{"outcome":false,"message":"Unable to connect.","error":"SQLSTATE[HY000] [2002] Unknown error 4294967295"}
谢谢!!
您不需要指定IP地址
$db = new pdo('mysql:unix_socket=/cloudsql/<your-project-id>:<your-instance-name>;dbname=<database-name>',
'root', // username
'' // password
);
https://developers.google.com/appengine/docs/php/cloud-sql/
如果您的应用程序和数据库连接正确(您已授予该GAE应用程序访问该Google SQL数据库的权限,等等),则它应该“正常工作”。
如果要通过IP连接,则必须进入实例并手动为其提供IP地址。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句