我想要做的是我有一个名为m_select的表,它有四个字段 - > id,id_m,hello,bye ..我希望从脚本中的变量中获取其中两个字段,即id和id_m,以及两个来自另一个名为test1的表,使用SELECT ...即可。
mysql_query("INSERT INTO m_select [(id, id_m, hello, bye)] VALUES [('$U','$$t_id')] SELECT hello,bye FROM test1 [WHERE id='$test_id']");
答案 0 :(得分:1)
你的陈述有几个问题。一个是方括号。更重要的是,您指定了两列具有值但在insert
语句中有四列的列。这似乎是你想要的:
INSERT INTO m_select (id, id_m, hello, bye)
VALUES ('$U','$$t_id')
您可以添加其他值:
INSERT INTO m_select (id, id_m, hello, bye)
VALUES ('$U','$$t_id', 'hello', 'bye')
或者从列列表中删除它们:
INSERT INTO m_select (id, id_m)
VALUES ('$U','$$t_id')
答案 1 :(得分:1)
试试这个:
mysql_query("
INSERT INTO
m_select
(id, id_m, hello, bye)
SELECT
'$U' AS id,
'$$t_id' AS id_m,
hello,
bye
FROM test1 WHERE id='$test_id'
");
我不确定$$t_id
(而不是$t_id
)上的双美元符号是否有意,但我认为我至少会让你意识到这一点。
答案 2 :(得分:0)
Am ...删除方括号...... 并将SELECT放在单独的查询中。
答案 3 :(得分:0)
首先使用PHP将数据插入表中
function insertFunction(){
$query = "INSERT INTO test1(id, id_m, hello, bye) VALUES('$id','$id_m','$hallo','$bye')";
try {
$runQuery = mysql_query($query);
if (!$runQuery) throw new Exception("mysql Error");
} catch(Exception $e) {
echo $e->getMessage();
}
}
之后获取结果:
function selectFunction(){
$resultantQuery = "SELECT id,id_m,hello,bye FROM test1";
try {
$runQuery = mysql_query($resultantQuery);
$result = mysql_fetch_assoc($runQuery);
echo "id:" .$result['id'];
echo "id_m:" .$result['id_m'];
echo "hello:" .$result['hello'];
echo "bye:" .$result['bye'];
if (!$runQuery) throw new Exception("mysql Error");
} catch(Exception $e) {
echo $e->getMessage();
}
}