I have an app on my phone that I use as a pocket reference when I need field names, relationships in GroceryCrud. It has an Import from SQL feature.
I ran my code. Copied the output to keep.google.com and from there pasted the SQL in the mobile app.
This was a quick thing I needed so I just placed it in a controller.
Code follows:
public function tableSQLCreate() {
try {
$pdo = $this->db;
}
catch(PDOException $e) {
die("Could not connect to the database\n");
}
echo '<#pre>';
try{
$stmt1 = $pdo->query('SHOW TABLES' );
try {
foreach($stmt1->result() as $result) {
foreach ($result as $key => $value) {
$stmt2 = $pdo->query("SHOW CREATE TABLE `". $value ."`" );
$table = $stmt2->result();
foreach ($table[0] as $key => $value) {
if ($key=="Create Table") {
echo "$value;\n\n";
}
}
}
}
} catch(PDOException $e) {
die("Could not get result nested");
}
}
catch(PDOException $e) {
die("Could not get result");
}
echo '<#/pre>';
}
It outputs
CREATE TABLE `login_attempts` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `ip_address` varchar(15) NOT NULL, `login` varchar(100) NOT NULL, `time` int(11) unsigned DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;