jmac11 / googlecloudsql

Automatically exported from code.google.com/p/googlecloudsql
0 stars 0 forks source link

PDO connection does'nt work #78

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
It appears impossible to connect to Cloud SQL using PDO. My code is as follows:
define('DBH_SOCKET', ':/cloudsql/xx:xxx');
define('DBH_NAME', 'wordpress_db');
define('DBH_USER', 'censored');
define('DBH_PASSWORD', 'censored');

$pdo_conn = "mysql:unix_socket=".DBH_SOCKET.";dbname=".DBH_NAME.";charset=utf8";

try {
    $dbconn = new PDO($pdo_conn, DBH_USER, DBH_PASSWORD);
    $dbconn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch (PDOException $e){
    echo 'Connection failed: ' . $e->getMessage();
}

This code raises a PDO execption. When I run the following code using the same 
variables except that I change DBH_SOCKET, I am able to connect, without any 
problems

define('DBH_SOCKET', 'an ip here');
$conn = mysql_connect(DBH_SOCKET, DBH_USER, DBH_PASSWORD);
if (!$conn)
    die('Connect error ('.mysql_error());

$db_selected = mysql_select_db(DBH_NAME, $conn);
if(!$db_selected)
    die('Cant use db: '.mysql_error());

Original issue reported on code.google.com by georgeka...@gmail.com on 9 Jan 2014 at 8:23

GoogleCodeExporter commented 9 years ago
Hi georgekazi20,

could you try removing the leading colon from your DBH_SOCKET constant (based 
on the docs from https://developers.google.com/appengine/docs/php/cloud-sql/)?, 
that is:

/cloudsql/xx:xxx

instead of

:/cloudsql/xx:xxx

I was able to connect using your code sample by doing that.

Original comment by jemu...@google.com on 22 Jan 2014 at 7:34

GoogleCodeExporter commented 9 years ago

Original comment by t...@google.com on 5 Feb 2014 at 9:35