PDA

View Full Version : آموزش: اجرا کردن چند کوئری به صورت یکجا



smhnaji
چهارشنبه 05 بهمن 1390, 16:46 عصر
سلام

من می‌خوام

$query = "LOCK TABLE event WRITE;
SELECT @ParentRight := parent.rgt, @Level := parent.level FROM event AS parent WHERE parent.id = '{$data['parent_id']}';

UPDATE event SET rgt = rgt + 2 WHERE rgt > @ParentRight;
UPDATE event SET lft = lft + 2 WHERE lft > @ParentRight;

INSERT INTO event(lft, rgt, level) VALUES(@ParentRight, @ParentRight + 1, @Level);
UNLOCK TABLES;";
رو یکجا اجرا کنم. باید چه کدی بنویسم؟

حتی

mysqli_multi_query($this->db->conn_id, $query);
هم جواب نمی‌ده. (من دارم با CodeIgniter کار می‌کنم، اما شما کد پی‌اچ‌پی رو هم به من بگین خوبه)

ممنون

-----------------------------

نکته: من اشتباهی به جای انتخاب عنوان «سوال»، عنوان «آموزش» رو انتخاب کردم. ممنون می‌شم اگه یکی از مدیرها اینو درست کنه.

امیـرحسین
چهارشنبه 05 بهمن 1390, 22:19 عصر
دستورات mysqli یکم پیچیدست. با PDO ساده‌تره و فکر کنم CI هم از PDO استفاده میکنه.

$sql = "SELECT 'Amir' AS name;SELECT 'Hossein' AS name;";
$stmt = $pdo->query($sql);
do {
if( $row=$stmt->fetch(PDO::FETCH_ASSOC) )
echo $row['name'].' ';
} while ($stmt->nextRowset());
$stmt = null;
در مورد MySQLi هم نمونه‌ی خود سایت PHP کار میکنه. من الان دارم ازش استفاده میکنم.