we can use these two functions to create our tables and handle our queries. **functions.php** ```php $host = 'localhost'; $data = 'platystation'; // here is the name of the database $user = 'root'; // db username $pass = 'root'; // db pass $chrs = 'utf8mb4'; $attr = "mysql:host=$host;dbname=$data;charset=$chrs"; $opts = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]; try{ $pdo = new PDO($attr, $user, $pass, $opts); } catch(\PDOException $e){ throw new \PDOException($e->getMessage(), (int)$e->getCode()); } function createTable($name, $query){ queryMysql("CREATE TABLE IF NOT EXISTS $name($query)"); echo "Table '$name' created or already exists.<br>"; } function queryMysql($query){ global $pdo; return $pdo->query($query); } ``` create the table for the susarios. ```php createTable('users', 'user VARCHAR(20), email VARCHAR(100), pass VARCHAR(12), INDEX(user(20))'); ``` query to return data from the database ```php queryMysql("SELECT * FROM daname"); ``` query to insert data into the db ```php queryMysql("INSERT INTO dbname VALUES('$username','$password')"); ``` From there we can explain more options or queries such as delete, update, merge and so on.
nice comment! good to have people who contribute in this way to the better learning of the guys here on the site.
`Connection:` Parameters for database connection details are set, including host, database name, username, password, and character set. These are used to establish a PDO connection. `Options`: PDO options are configured for error handling, fetch mode, and prepared statements emulation. `Table Creation`: The script contains a function to create tables with provided table name and schema. Tables are created if they don't exist. `Query Execution`: Another function executes queries directly using the PDO instance. This includes selecting and inserting data. **To enhance the script**: `Security`: Use prepared statements to prevent SQL injection. Error Handling: Provide better error messages for troubleshooting. Naming: Ensure clear and consistent naming for functions and variables. Documentation: Add comments to explain the purpose of each part of the script. Implementing these improvements will make the script more concise and robust. Thanks.