| Server IP : 3.111.61.48 / Your IP : 216.73.216.67 Web Server : Apache System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64 User : ubuntu ( 1000) PHP Version : 8.2.31 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/vhost/book.gyaniguru.org/includes/ |
Upload File : |
<?php
$servername = "arukus-db-8.ca0xxskptwru.ap-south-1.rds.amazonaws.com";
$username = "db_usr_gyaniguru_book";
$password = "fuTg3xG193HAmqAFVjl6UQMr";
$dbname = "gyaniguru_org_prod_book";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$conn->set_charset("utf8mb4");
/**
* Create table if not exists
*/
$table_sql = "CREATE TABLE IF NOT EXISTS `book_images` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`book_id` INT(11) NOT NULL,
`image_url` VARCHAR(255) NOT NULL,
`sort_order` INT(11) DEFAULT 0,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
$conn->query($table_sql);
$reviews_sql = "CREATE TABLE IF NOT EXISTS `reviews` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`book_id` INT(11) NOT NULL,
`user_id` INT(11) NOT NULL,
`rating` TINYINT(4) NOT NULL CHECK (`rating` >= 1 AND `rating` <= 5),
`title` VARCHAR(255) DEFAULT NULL,
`comment` TEXT NOT NULL,
`status` ENUM('pending','approved') DEFAULT 'approved',
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `book_id` (`book_id`),
KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
$conn->query($reviews_sql);
try {
$result = $conn->query("SHOW COLUMNS FROM users LIKE 'reset_token'");
if ($result->num_rows == 0) {
$conn->query("
ALTER TABLE users
ADD COLUMN reset_token VARCHAR(64) DEFAULT NULL
");
}
} catch (Exception $e) {
error_log($e->getMessage());
}
/**
* Run SQL query
*/
function query($sql, $params = [])
{
global $conn;
$stmt = $conn->prepare($sql);
if (!$stmt) {
die("SQL Prepare Failed: " . $conn->error);
}
if (!empty($params)) {
$types = '';
foreach ($params as $param) {
if (is_int($param)) {
$types .= 'i';
} elseif (is_float($param)) {
$types .= 'd';
} else {
$types .= 's';
}
}
$stmt->bind_param($types, ...$params);
}
if (!$stmt->execute()) {
die("SQL Execute Failed: " . $stmt->error);
}
if ($stmt->field_count > 0) {
return $stmt->get_result();
}
return true;
}
/**
* Get single row
*/
function get_row($sql, $params = [])
{
$result = query($sql, $params);
return $result ? $result->fetch_assoc() : null;
}
/**
* Get all rows
*/
function get_all($sql, $params = [])
{
$result = query($sql, $params);
return $result ? $result->fetch_all(MYSQLI_ASSOC) : [];
}