Google Cloud SQL Insert не работает?

Я только начинаю с Cloud SQL, поэтому я уверен, что я совершаю простую ошибку.

Я могу подключиться к своему экземпляру Cloud через MySQL Workbench. Я создал базу данных и таблицу, и смог вставить и выбрать эту таблицу из MySQL Workbench.

Однако, когда я пытаюсь подключиться через мой движок приложения, я получаю сообщение об ошибке.

Отредактированный — вот мой код:

<?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’

Спасибо!

0

Решение

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]