ایجاد جداول با multi query

پرسیده شده
فعالیت 1439 روز پیش
دیده شده 879 بار
0

سلام

استاد من میخوام در ابتدای پروژه از طریق کوئری جداولم رو ایجاد کنم و نیازی نباشه که قبل از اجرای اسکریپت بخوایم بصورت دستی اینکار رو انجام بدیم، در ابتدای کار میخواستم از طریق چندین درخواست prepare اینکار رو انجام بدم اما با بررسی متدهای کلاس mysqli رسیدم به متد multi_query 

سوال اینجاست که من پروژه هایی رو بررسی کردم اما از این متد برای ایجاد چندین پایگاه داده بصورت همزمان استفاده نکردن و با چندین درخواست یا query بوده یا prepare ، ممکنه راهنمایی کنید که کدوم متد میتونه بهتر باشه؟

 

کد کانفیگ پروژه:


$db_config = [
    'host' => 'localhost',
    'user' => 'root',
    'name' => 'map',
    'pass' => ''
];

$mysqli = new mysqli($db_config['host'], $db_config['user'], $db_config['pass'], $db_config['name']);

# check database connection has error
if ($mysqli->connect_error) {
    echo "DB CONNECTION ERROR: " . $mysqli->connect_error;
    exit();
}

# select project database
$mysqli->select_db($db_config['name']);

// create database tables

# users table
$sql = "CREATE TABLE IF NOT EXISTS users (
    `id` bigint unsigned not null auto_increment primary key,
    `username` varchar(255) not null,
    `email` varchar(255) not null,
    `name` varchar(255) null,
    `family` varchar(255) null,
    `nikname` varchar(255) null,
    `password` varchar(255) not null,
    `is_verified` bit null default 0,
    `created_at` datetime not null default CURRENT_TIMESTAMP
) ENGINE=innoDB;";

# locations table
$sql .= " CREATE TABLE IF NOT EXISTS locations (
    `id` bigint unsigned not null auto_increment primary key,
    `user_id` int unsigned not null,
    `title` varchar(550) not null,
    `latitude` float not null,
    `longitude` float not null,
    `type` tinyint unsigned not null,
    `status` tinyint unsigned not null,
    `created_at` datetime not null default CURRENT_TIMESTAMP,
    `modified_at` datetime not null default CURRENT_TIMESTAMP
) ENGINE=innoDB;";

$mysqli->multi_query($sql);

ممنون

فایل پیوست

علیرضا دهکار
علیرضا دهکار

1 خرداد 99

3
حذف شده

سلام علیرضا

سعی کن جدا جدا اجرا کنی.

وقتی جدا اجرا کنی اگر خطایی پیش بیاد راحتتر می تونی دیباگ کنید و بگی مثلا در اضافه کردن فلان جدول مشکلی پیش اومده.

من هم اکثرا دیدم که جداگانه کوئری می زنند

فایل پیوست

لقمان آوند

توسط

لقمان آوند

2 خرداد 99

حذف شده
سلام مجدد استاد عزیز، ممنون از راهنماییتون
علیرضا دهکار

2 خرداد 99