Hi! Could we please enable some services and cookies to improve your experience and our website?
No, thanks.
Okay!
Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code
CREATE TABLE IF NOT EXISTS users (id INTEGER AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL UNIQUE);
INSERT IGNORE INTO users (name) VALUE ('BOB');
INSERT IGNORE INTO users (name) VALUE ('ALICE');
SELECT * FROM users;
ALTER TABLE users ADD COLUMN email VARCHAR(256);
SQL Server:
MySQL 8.0
MySQL 8.0 Sakila (ReadOnly)
MySQL 9.3.0
MariaDB 11.4
MariaDB 11.8
MariaDB 10
MariaDB 10 Sakila (ReadOnly)
SQLite 3
SQLite 3 Preloaded
PostgreSQL 10 Bookings (ReadOnly)
PostgreSQL 13
PostgreSQL 14
PostgreSQL 15
PostgreSQL 16
PostgreSQL 17 + PostGIS
PostgreSQL 17 + PostGIS WorkShop (ReadOnly)
MS SQL Server 2017
MS SQL Server 2019
MS SQL Server 2022
MS SQL Server 2022 AdventureWorks (ReadOnly)
Firebird 4.0
Firebird 4.0 (Employee)
RedDatabase 5.0
Oracle Database 19c (HR)
Oracle Database 21c
Oracle Database 23c Free
SOQOL
ClickHouse
Run SQL code
Save snippet
ER Diagram
<?php
class Database
{
public function _construct()
{
}
public function connect() : void
{
}
protected function executeQuery($query, $params = []) : mixed
{
global $pdo;
try {
$stmt = $pdo->prepare($query);
$stmt->execute($params);
return $stmt;
}
catch (\PDOException $e) {
throw new \Exception("Database query error: " . $e->getMessage());
}
}
public function getUsers() : array
{
return array_map(fn($user) => $user['name'], $this->executeQuery('SELECT * FROM users')->fetchAll());
}
public function addUser(string $name, string $email) : void
{
$this->executeQuery('INSERT INTO users (name, email) VALUES (:name, :email)', [':name' => $name, ':email' => $email]);
}
}
$db = new Database();
$db->addUser('DROP TABLE users;', "richard@mail.ru");
print_r($db->getUsers());
PHP version :
PHP 7.4
PHP 8.0
PHP 8.1
PHP 8.2
PHP 8.3
PHP 8.4
Run PHP Code
Save snippet