【问题标题】:i want to insert data of a variable in two columns continuously我想连续在两列中插入变量的数据
【发布时间】:2013-08-13 14:57:44
【问题描述】:
<?php
$db = mysql_connect('localhost', 'root', '') or
  die ('Unable to connect. Check your connection parameters.');

mysql_select_db('my_db', $db) or die(mysql_error($db));

$query = 'SELECT
       second, count(*) FROM tb_one GROUP BY second';


$result = mysql_query($query, $db) or die(mysql_error($db));

while ($row = mysql_fetch_assoc($result)) {

    foreach ($row as $value) {

        $queryy = 'INSERT INTO tb_two (name) VALUES ("' . $value . '")';
        mysql_query($queryy, $db) or die(mysql_error($db));

    }
}
?>

在此脚本中,第一个查询旨在选择和计算重复值(效果很好),但在第二个查询中,我想将所选数据插入另一个有两列的表中,第一列是它的名称,第二列是它的重复计数......如果插入语句中有一列,它会很好地工作并添加值。但我想要两列——一列用于名称,另一列用于计算重复次数。谢谢先生...我已经尝试了很多天了..

【问题讨论】:

  • 不要使用 mysql_* 函数。它们不能在 MySQL 5+ 中正常工作并且已被弃用。

标签: php mysql


【解决方案1】:

这一切都可以在 MySQL 中完成:

INSERT INTO tb_two(name, count)
    SELECT second, count(*) 
    FROM tb_one 
    GROUP BY second;

不过,在其他新闻中the mysql_ functions have been deprecated。您应该使用PDO Library。或者至少是MySQL Improved Library

【讨论】:

    【解决方案2】:

    通过为重复列添加别名让您的生活更轻松,这样您就可以更轻松地解决它。 方法如下:

    替换这个

    $query = 'SELECT second, count(*) FROM tb_one GROUP BY second';
    

    通过这个:

    $query = 'SELECT second, count(*) as duplicates FROM tb_one GROUP BY second';
    

    您现在将“重复”作为列名。然后你就可以使用它了,例如:

    while ($row = mysql_fetch_assoc($result)) {
    
    foreach ($row as $r) {
    
    $queryy = "INSERT INTO tb_two SET name='".$r['second']."', duplicates='".$r['duplicates']."'";
    mysql_query($queryy, $db) or die(mysql_error($db));
    
    }
    }
    

    【讨论】:

      【解决方案3】:

      试试这个,如果有语法问题,对不起,我是在记事本里做的。

      while ($row = mysql_fetch_assoc($result)) 
      {
          $query = "INSERT INTO tb_two (column1, column2) VALUES ('" . $row[0] . "', '" . $row[1] . "')";
          mysql_query($query, $db) or die(mysql_error($db));
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-16
        • 2019-04-22
        • 2015-12-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多