-4

我想做的是我有一个名为 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']");
4

4 回答 4

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')
于 2013-06-19T00:58:48.950 回答
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)上的双美元符号是否是故意的,但我想我至少会让你意识到这一点。

于 2013-06-19T00:59:38.560 回答
0

我...删除方括号...并将 SELECT 放在单独的查询中。

于 2013-06-19T00:56:20.223 回答
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();
            }

}
于 2013-06-19T01:04:59.697 回答