Show DB Tables
March 19, 2025 · AI Conversations
### **MySQL / MariaDB**
SHOW TABLES;
### **PostgreSQL**
dt
or
SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';
### **SQLite**
.tables
or
SELECT name FROM sqlite_master WHERE type='table';
### **SQL Server**
SELECT name FROM sys.tables;
### **Laravel Artisan Command**
If you are using Laravel, you can run:
php artisan tinker
Then inside Tinker:
DB::select('SHOW TABLES');
or directly via the Artisan command:
php artisan migrate:status
If you are using Docker with MySQL, you might need to enter the container first:
docker exec -it <container_name> mysql -u root -p
Then run:
SHOW TABLES;
Let me know if you need help with a specific setup!
### **Method 1: Using MySQLi**
<?php
$servername = "localhost";
$username = "root"; // Change this if needed
$password = ""; // Change this if needed
$database = "your_database_name"; // Replace with your database name
// Create connection
$conn = new mysqli($servername, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Query to get all tables
$sql = "SHOW TABLES";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<h2>Database Tables:</h2><ul>";
while ($row = $result->fetch_array()) {
echo "<li>" . $row[0] . "</li>";
}
echo "</ul>";
} else {
echo "No tables found in database.";
}
$conn->close();
?>
—
### **Method 2: Using PDO**
<?php
$dsn = "mysql:host=localhost;dbname=your_database_name;charset=utf8mb4";
$username = "root"; // Change this if needed
$password = ""; // Change this if needed
try {
$pdo = new PDO($dsn, $username, $password, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
$stmt = $pdo->query("SHOW TABLES");
$tables = $stmt->fetchAll(PDO::FETCH_COLUMN);
if ($tables) {
echo "<h2>Database Tables:</h2><ul>";
foreach ($tables as $table) {
echo "<li>$table</li>";
}
echo "</ul>";
} else {
echo "No tables found in database.";
}
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
### **Explanation**
– Both methods connect to a MySQL database.
– The `SHOW TABLES` query retrieves all tables in the selected database.
– The results are displayed as a list.
Let me know if you need modifications based on your setup! 🚀
fname, lname passwrod
password will be md5
—
### **PHP Code to Insert a User**
<?php
$servername = "localhost";
$username = "root"; // Change if needed
$password = ""; // Change if needed
$database = "your_database_name"; // Change to your database name
// Create connection
$conn = new mysqli($servername, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// User input (Replace these values with actual data or form input)
$fname = "John";
$lname = "Doe";
$password = "my_secure_password";
// Hash the password using MD5
$hashed_password = md5($password);
// SQL query to insert user
$sql = "INSERT INTO users (fname, lname, password) VALUES (?, ?, ?)";
// Prepare statement
$stmt = $conn->prepare($sql);
$stmt->bind_param("sss", $fname, $lname, $hashed_password);
// Execute the query
if ($stmt->execute()) {
echo "New user inserted successfully!";
} else {
echo "Error: " . $stmt->error;
}
// Close connections
$stmt->close();
$conn->close();
?>
—
### **Key Points**
1. **`md5($password)` is used** – However, MD5 is insecure. Use `password_hash($password, PASSWORD_BCRYPT);` instead.
2. **Prepared statements (`bind_param`) prevent SQL injection**.
3. **Database table structure should look like this:**
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
fname VARCHAR(50),
lname VARCHAR(50),
password VARCHAR(255)
);
—
### **Secure Alternative (Recommended)**
Instead of **MD5**, use `password_hash()` with **bcrypt**:
$hashed_password = password_hash($password, PASSWORD_BCRYPT);
And to verify during login:
password_verify($entered_password, $stored_hashed_password);
Would you like me to update the code with bcrypt for better security? 🚀