копиране на ред в таблица в друга таблица

lepo

Registered
Здравейте.

Код:
<?php
// connect to server, database, table.
include ("db_connect.inc");


$group=$_POST['group'];
$temp='_users';
$user=$_POST['name'];

$query1=mysql_query("SELECT id FROM users WHERE name='$user'") or die(mysql_error());
$query2=mysql_query("SELECT name FROM users WHERE name='$user'") or die(mysql_error());
$query3=mysql_query("SELECT pass FROM users WHERE name='$user'") or die(mysql_error());
$query4=mysql_query("SELECT mail FROM users WHERE name='$user'") or die(mysql_error());
$query5=mysql_query("SELECT auth FROM users WHERE name='$user'") or die(mysql_error());

$create=mysql_query("INSERT INTO ".$group.$temp." (id,name,pass,mail,auth) VALUES

('$query1','$query2','$query3','$query4','$query5')") or die(mysql_error());



echo "<br/>";
echo "<a href=\"index.php\">BACK</a>";
?>

Целта е да се копират данните за юзъра "х" във другата таблица.

но вместо да се копират стойностите се копират все едни и същи неразборийй :

name Resource id #6
pass Resource id #7
mail Resource id #8
id 0
auth 0


идеи как да го оправя ???

пс... или някакъв друг начин да се направи (защото предполагам кода ми е много нескопосан и сто про си има нещо стандартно затова но съм нов в тая тема )

Благодаря.
 
Може да стане дори само с една заявка. Примера по-долу е валиден в случай, че двете таблици имат еднакви колони. Иначе ще се наложи да изредиш колоните и в insert частта и в select частта.
PHP:
$create=mysql_query("INSERT INTO ".$group.$temp." SELECT * from users where name = '$user' ") or die(mysql_error());

Защо не ти се получава с твоя вариант? Ти изпълняваш заявките, но никога не взимаш резултатите.

PHP:
$query1=mysql_query("SELECT id FROM users WHERE name='$user'") or die(mysql_error()); 
//пропуснал си тази част
$result1 = mysql_fetch_array($query1);

Освен това, ако държиш все пак да е с отделни заявки, нормално би било да изпълниш само една заявка, с която взимаш информацията на потребителя и втората заявка да е за вмъкване в новата таблица:

PHP:
$query=mysql_query("SELECT id, name, pass, mail, auth FROM users WHERE name='$user'") or die(mysql_error()); 
$result = mysql_fetch_array($query);

$create=mysql_query("INSERT INTO ".$group.$temp." (id,name,pass,mail,auth) VALUES

($result['id'], $result['name'], $result['pass'], $result['mail'], $result['auth'])") or die(mysql_error());
 
Мерси за отговорите успях да го направя по тоя начин но се оказа че е много кофти начин който не пести ресурси.. сега ми трябва инсъртна поле от 1 таблица и друго поле от втора таблица в трета


Примерно :

от users да зема id where name= нещо си
от user_groups да зема id where name = нещо си

и да ги сложва в третата таблица users_in_groups във полетата user_id и group_id

Съчинявах сякфи си заявки и нз си кфо но пропускам нещо много важно и нз какво е ;С

Код:
$create=mysql_query("INSERT INTO users_in_groups (user_id,group_id) SELECT users.id,user_groups.id FROM 

users,user_groups WHERE users.name=$user AND user_groups.name=$group") or die(mysql_error());

Ако може някой да ми даде в общия вид как се въежда това поле от тази където еди коеси е равно на еди кое си и това поле от тази таблица където еди кое си е равно на еди кое си във тази трета таблица ??

Благодаря.
 

Back
Горе