php查询结束时的额外数字

时间:2017-01-13 11:54:10

标签: php sql

我的recupera.inc文件中有以下代码:

block := [:x | x value: 2].
block value: [:y | y + 1]

在我的index.php文件中我正在尝试使用以下查询打印结果:

$sql = "SELECT * FROM info_modulo WHERE id_interacao = 1";
$resultado = mysql_query ($sql);

$array = array();

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

  $array[] = $row;

}

$nome = array_column($array, 'nome');
$imagem = array_column($array, 'imagem');
$comentario = array_column($array, 'comentario');

但问题是我尝试打印的并不重要,结果总是最后有一个“1”,就像在这种情况下一样:

<?php 
include "recupera.inc";
echo "<br/>";
echo print_r($nome[0] . " " . $imagem[0] . " " . $comentario[0]) . "</br>";
?>

“teste_comentario1”中的“1”在数据库中不存在

如果我尝试休息:

test_nome test_imagem teste_comentario1

结果是结果:

<?php 
include "recupera.inc";
echo "<br/>";
echo print_r($nome[0]) . "</br>";
?>

有人知道为什么会这样吗?非常感谢!

1 个答案:

答案 0 :(得分:0)

您有两个输出功能。

执行echo print_r()时,您告诉php回显print_r返回的内容。 print_r意味着echo its output而非返回,除非另有说明,否则它始终返回true

所以发生了什么:

print_r打印其输出,并返回true。然后echotrue打印返回的print_r(字符串形式为1),从而产生“意外”结果。

我不知道你在print_r那里想要完成什么,但只需删除它,你的代码应该正常工作。

完全与您的问题无关,但正如其中一条评论所说,您应该使用mysqli_系列函数。 myslq_系列已被弃用了一段时间。