谷歌云SQL插入不起作用


Google Cloud SQL Insert Not working?

我刚开始使用Cloud SQL,所以我确信我犯了一个简单的错误。

我可以通过MySQL工作台连接到我的云实例。我创建了一个数据库和表,并能够从MySQL工作台插入和选择该表。

然而,当我尝试通过我的应用程序引擎连接时,我遇到了一个错误。

编辑-这是我的代码:

<?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();
  }
?>

我得到的错误是:SQLSTATE[HY000][1049]未知数据库"dpe"

谢谢!

mysql_select_db();已经被弃用,您应该在这种情况下只使用类对象PDO。您也可以使用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();
}