2014-12-31 3 views
-2

как вставить переменную и выбрать в PHPзначения вставки PHP MySQL и выберите

table1 1,2,3,4,5 table2 1,2,3,4

я хочу, чтобы вставить table1 из table2 и table1.5 добавить переменную (извините idont говорить по-английски очень хорошо :)) запрос:

"INSERT INTO `table1` (`table1`.`5`, `1`, `2`, `3`, `4`,) 
$variable, select `1`, `2`, `2`, `3`, `4` from `table2` where `table2`.`3`=3; "; 
+2

Добавьте более подробную информацию о том, что вы хотите выполнить, какие ошибки вы получили или что не работает. И объясните странную схему имен столбцов. – mario

+0

table1 column = 1, 2, 3, 4, 5 tabel2 column 1,2,3,4, я хочу добавить столбец таблицы2 в tabl1 и table2.5 вставить переменную – peace

ответ

0

В вашей ошибке синтаксиса запроса есть. Синтаксис сказал вам по @Orel Eraki ...

Так что ваш SQL должен быть:

$sql="INSERT INTO `table1` (`1`, `2`, `3`, `4`, `5`) 
SELECT `1`, `2`, `3`, `4`, '$variable' FROM `table2` WHERE `table2`.`3`=3;"; 

Я изменил последовательность столбцов в INSERT списке.


Ошибки:

1) $variable должны быть после SELECT (в списке выбора Колонка), а не до него.

2) в SELECT списке вы написали column named as 2 два раза ... нет столбцов должны быть такими же, как INSERT, и в том числе $variable общих идут к 6. Поэтому я удалил один column 2.

3) в INSERT после column named as 4 у вас есть ,.

+0

спасибо очень много – peace

0

Вы не можете INSERT and SELECT на том же действии на PHP.

Но вы имели в виду INSERT the SELECTED RESULT, чем все, что вам нужно сделать следующий

INSERT INTO `Table-Destination` 
SELECT * FROM `Table-Source` ... 
+0

спасибо, но в то же время, как добавить переменную? – peace

+0

@peace, просто добавьте '$ variable,' перед звездочкой, так что это будет '$ variable, *' –

+0

на самом деле, я вставляю в таблицу1 из таблицы2, а затем обновляю table1.5 = $ variable, но я не хочу использовать два запрос – peace