我有这段代码,当我生成文档时,它只会写入(输出?)数据库中的最后一行。我想获得所有的行,但我不知道如何获得。我观察到的是,我正在重新分配值,但我不知道如何纠正这一点。
$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";}
尝试放入
的特性
$cont = "$TimeStap $NO $IP $CODIGO $ESTADO $URL $PUERTO $RESOLUCIONACCION";
$data = 'TimeStap NO IP CODIGO ESTADO URL PUERTO RESOLUCION-ACCION'
.$sl .$cont;
插入while并将它们连接起来,因为$data是保存结果的变量。
在
while
和concatenarles之间,$data
是一个可变的连续序列。
<?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";}
?>
答案在这里http://php.net/manual/en/function.oci-fetch-all.php无论如何,这个问题肯定是重复的。请只用英语写:可以在评论中或代码中添加一些其他语言的短语,但不能添加问题本身。这是一个很好的例子。请查看规则
试试这个
$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";}