【问题标题】:How to write all the records from the mysql database with PHP?如何用 PHP 写入 mysql 数据库中的所有记录?
【发布时间】:2015-09-19 04:12:01
【问题描述】:

我有这段代码,当我生成文档时,它只是写入(输出?)数据库中的最后一行。我想获得所有的行,但我不知道如何。 我观察到的是我正在重新分配值,但我不知道如何更正。

    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "codeigniter";
    //Establecemos la conexion
    $conn = new mysqli($servername, $username, $password, $dbname);

    if ($conn->connect_error) {
         die("Connection failed: " . $conn->connect_error);
    }
    $sql = "SELECT TimeStrap, Numero, IP, Codigo, Estado, URL, Puerto, ResolucionAccion FROM registros";
    $result = $conn->query($sql);
    if ($result->num_rows > 0) {
         while($row = $result->fetch_assoc()) {
            //Establecemos las variables
            $TimeStap = $row["TimeStrap"];
            $NO = $row["Numero"];
            $IP = $row["IP"];
            $CODIGO = $row["Codigo"];
            $ESTADO = $row["Estado"];
            $URL = $row["URL"];
            $PUERTO = $row["Puerto"];
            $RESOLUCIONACCION = $row["ResolucionAccion"];
        }
    } else {
        echo "No hay resultados";
    }
    //Cerramos la conexion
    $conn->close();

    $sl = "\n";

    //Re-Asignamos variables
    $cont = "$TimeStap $NO  $IP     $CODIGO $ESTADO $URL  $PUERTO   $RESOLUCIONACCION";
    $data = 'TimeStap   NO  IP      CODIGO      ESTADO  URL     PUERTO  RESOLUCION-ACCION'
    .$sl .$cont;

    if ( ! write_file('/var/squid/log/access.log', $data))
    {echo 'No se puede escribir el archivo';}
    else{$success = "El archivo se generó correctamente";}

【问题讨论】:

标签: php mysql file


【解决方案1】:

试着放

打官司

$cont = "$TimeStap $NO  $IP     $CODIGO $ESTADO $URL  $PUERTO   $RESOLUCIONACCION";
    $data = 'TimeStap   NO  IP      CODIGO      ESTADO  URL     PUERTO  RESOLUCION-ACCION'
    .$sl .$cont;

在 while 中并连接它们,因为 $data 是保存结果的变量。

dentro el while y concatenarles, porque $data es el variable que contiene sus resulatdos。

<?php  $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "codeigniter";
    //Establecemos la conexion
    $conn = new mysqli($servername, $username, $password, $dbname);

    if ($conn->connect_error) {
         die("Connection failed: " . $conn->connect_error);
    }
    $sql = "SELECT TimeStrap, Numero, IP, Codigo, Estado, URL, Puerto, ResolucionAccion FROM registros";
    $result = $conn->query($sql);
    if ($result->num_rows > 0) {
         while($row = $result->fetch_assoc()) {
            //Establecemos las variables
            $TimeStap = $row["TimeStrap"];
            $NO = $row["Numero"];
            $IP = $row["IP"];
            $CODIGO = $row["Codigo"];
            $ESTADO = $row["Estado"];
            $URL = $row["URL"];
            $PUERTO = $row["Puerto"];
            $RESOLUCIONACCION = $row["ResolucionAccion"];
            $cont = "$TimeStap $NO  $IP     $CODIGO $ESTADO $URL  $PUERTO   $RESOLUCIONACCION";
            $data = $data.'TimeStap   NO  IP      CODIGO      ESTADO  URL     PUERTO  RESOLUCION-ACCION'
    .$sl .$cont;

        }
    } else {
        echo "No hay resultados";
    }
    //Cerramos la conexion
    $conn->close();

    $sl = "\n";

    //Re-Asignamos variables
    //$cont = "$TimeStap $NO  $IP     $CODIGO $ESTADO $URL  $PUERTO   $RESOLUCIONACCION";
    //$data = 'TimeStap   NO  IP      CODIGO      ESTADO  URL     PUERTO  RESOLUCION-ACCION'
    //.$sl .$cont;

    if ( ! write_file('/var/squid/log/access.log', $data))
    {echo 'No se puede escribir el archivo';}
    else{$success = "El archivo se generó correctamente";}

    ?>

【讨论】:

    【解决方案2】:

    答案在这里http://php.net/manual/en/function.oci-fetch-all.php 这个问题肯定是重复的。请只用英文写:允许在 cmets 或代码中添加其他语言的一些短语,但不能在问题本身中添加。 Hay foros en español para eso。请看规则

    【讨论】:

      【解决方案3】:

      试试这个

       $conn = new mysqli($servername, $username, $password, $dbname);
      
      if ($conn->connect_error) {
           die("Connection failed: " . $conn->connect_error);
      }
      $sql = "SELECT TimeStrap, Numero, IP, Codigo, Estado, URL, Puerto, ResolucionAccion FROM registros";
      $result = $conn->query($sql);
      $regs='';
      if ($result->num_rows > 0) {
           while($row = $result->fetch_assoc()) {
              //Establecemos las variables
              $TimeStap = $row["TimeStrap"];
              $NO = $row["Numero"];
              $IP = $row["IP"];
              $CODIGO = $row["Codigo"];
              $ESTADO = $row["Estado"];
              $URL = $row["URL"];
              $PUERTO = $row["Puerto"];
              $RESOLUCIONACCION = $row["ResolucionAccion"];
              $regs += "$TimeStap $NO  $IP     $CODIGO $ESTADO $URL  $PUERTO   $RESOLUCIONACCION \n"; 
          }
      } else {
          echo "No hay resultados";
      }
      //Cerramos la conexion
      $conn->close();
      
      
      //Concatenamos variables
      $encabezado = "TimeStap   NO  IP      CODIGO      ESTADO  URL     PUERTO  RESOLUCION-ACCION \n";
      $data = $encabezado.$regs;
      
      
      if ( ! write_file('/var/squid/log/access.log', $data))
      {echo 'No se puede escribir el archivo';}
      else{$success = "El archivo se generó correctamente";}
      

      【讨论】:

        猜你喜欢
        • 2015-09-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-22
        • 2021-08-01
        相关资源
        最近更新 更多