it4life - Portal de Informática

jfrosorio


junkie user
93 posts

Boas,

 

Estou a desenvolver um scrip e preciso de fazer a seguinte query:

SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME = [DB_NAME] AND TABLE_SCHEMA = '" . $mysqli-> . "' AND CONSTRAINT_TYPE = 'UNIQUE';

É claro que preciso de obter o nome da base de dados dinamicamente para incluir na query. Alguém sabe como é que se faz isto? Estou a usar mysqli.

 

Desde já obrigado.


A prática vale muito, mas é a vontade de ir mais longe que garante o sucesso.

Bumblebee


junkie user
24 posts

Acho que não dá para fazer direto. Antes da tua query, tens de fazer o seguinte:

$result_db = $mysqli->query("SELECT DATABASE();");
$line_db = $result_db->fetch_row();

E adaptas a tua query para:

SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME = [DB_NAME] AND TABLE_SCHEMA = '" . $line_db[0] . "' AND CONSTRAINT_TYPE = 'UNIQUE';

 


Muito do que sei, tive de aprender sozinho. Se não fosse desenrascado, bem que estava tramadinho.

Segue-nos nas redes sociais