[英]Google Cloud SQL Insert Not working?
I am just starting out with Cloud SQL, so I'm sure there is a simple mistake I'm making. 我只是从Cloud SQL开始,所以我确定我犯了一个简单的错误。
I am able to connect to my Cloud instance via MySQL Workbench. 我可以通过MySQL Workbench连接到我的云实例。 I created a database and table, and was able to insert and select from this table from MySQL Workbench.
我创建了一个数据库和表,并能够从MySQL Workbench插入该表并从中选择。
However, when I try to connect through my app engine, I am getting an error. 但是,当我尝试通过我的应用程序引擎连接时,出现错误。
EDITED- Here's my code: 编辑-这是我的代码:
<?php
try{
$db = null;
$db = new pdo('mysql:unix_socket=/cloudsql/my-gae-appname:my-cloud-sql-instance;dbname=myschema', 'root', '');
mysql_select_db('myschema');
$action = $_GET["action"];
$mapid = $_GET["mapid"];
$src = $_GET["src"];
$ip = $_SERVER["REMOTE_ADDR"];
$stmt = $db->prepare('INSERT INTO myschema.report (action, mapid, ip, source) VALUES (?,?,?,?)');
$stmt->execute(array($action, $mapid, $ip, $src));
$affected_rows = $stmt->rowCount();
echo $affected_rows;
$db = null;
}catch(PDOException $ex){
echo $ex->getMessage();
}
?>
The error I get is: SQLSTATE[HY000] [1049] Unknown database 'dpe' 我得到的错误是:SQLSTATE [HY000] [1049]未知数据库'dpe'
Thanks! 谢谢!
mysql_select_db(); mysql_select_db(); has been deprecated and you should be using the class object PDO exclusively in the case.
已被弃用,在这种情况下,应仅使用类对象PDO。 You can also use the MYSQLI class.
您也可以使用MYSQLI类。
try{
$db = null;
$db = new pdo('mysql:unix_socket=/cloudsql/my-gae-appname:my-cloud-sql-instance;dbname=myschema', 'root', '');
$action = $_GET["action"];
$mapid = $_GET["mapid"];
$src = $_GET["src"];
$ip = $_SERVER["REMOTE_ADDR"];
$stmt = $db->prepare('INSERT INTO myschema.report (action, mapid, ip, source) VALUES (?,?,?,?)');
$stmt->execute(array($action, $mapid, $ip, $src));
$affected_rows = $stmt->rowCount();
echo $affected_rows;
$db = null;
}catch(PDOException $ex){
echo $ex->getMessage();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.