GoDaddy: Como adicionar um banco de dados a um domínio addon

Tenho uma conta principal em goddady eg. a.com

e adicionei um domínio adicional eg b.com

criei uma base de dados db_a, trabalhando com a.com correctamente.

criei uma base de dados DB_ B, e estou a tentar trabalhar com b.com, onde posso configurá-lo para que o db_b seja acessível por b.com como host=localhost?

Author: SIDU, 2017-04-03

1 answers

Depois de um grande tempo de confusão e depuração, e eu descobri a razão / solução. Mas ainda não sei por que Godaddy DOP tem este problema.

PHP v5.4.45

<?php
$pdo = new PDO('mysql:localhost;dbname=mydb', $user, $pass);

$sth = $pdo->prepare('select * from tab limit 1');
$sth->execute();
$row = $sth->fetchAll();
echo '<pre>select * from test -- not working -- ';
print_r($row);

$sth = $pdo->prepare('select now()');
$sth->execute();
$row = $sth->fetchAll(PDO::FETCH_ASSOC);
echo "\nselect now -- working -- ";
print_r($row);

$sth = $pdo->prepare('show databases');
$sth->execute();
$row = $sth->fetchAll(PDO::FETCH_ASSOC);
echo "\nshow databases -- working -- ";
print_r($row);

$sth = $pdo->prepare('show tables');
$sth->execute();
$row = $sth->fetchAll(PDO::FETCH_ASSOC);
echo "\nshow tables -- not working -- ";
print_r($row);

$sth = $pdo->prepare('show privileges');
$sth->execute();
$row = $sth->fetchAll(PDO::FETCH_ASSOC);
echo "\nshow privileges -- working but not right -- ";
print_r($row);

$sth = $pdo->prepare('select * from information_schema.TABLES where TABLE_SCHEMA != \'information_schema\'');
$sth->execute();
$row = $sth->fetchAll(PDO::FETCH_ASSOC);
echo "\nselect * from information_schema.TABLES -- working -- ";
print_r($row);

Nenhum erro -- que confuso. E eu testo isto, funciona:

<?php
$pdo = new PDO('mysql:localhost;dbname=mydb', $user, $pass);

$sth = $pdo->prepare('select * from mydb.tab limit 1');
$sth->execute();
$row = $sth->fetchAll();
echo '<pre>select * from test -- working !!! -- ';
print_r($row);
E agora tenho esta solução, mas não tenho a certeza se é o bug DOP Godaddy?
<?php
$pdo = new PDO('mysql:localhost', $user, $pass);

$sth = $pdo->prepare('use mydb');
$sth->execute();

$sth = $pdo->prepare('select * from tab limit 1');
$sth->execute();
$row = $sth->fetchAll();
echo '<pre>select * from test -- working !!! -- ';
print_r($row);

Conclusão:

Parece que o Godaddy DOP não usa o dbname, é preciso correr manualmente 'use o dbname ' depois Nova DOP e antes de quaisquer outros SQLs

 0
Author: SIDU, 2017-04-07 10:29:24