我遇到了一些奇怪的事情,我无法弄清楚它为什么会发生。我正在运行一个查询来从mysql表中的列中提取数据,并且当我直接执行printf()
时,数据按预期发布。但是,当我做$variable = printf()
时,我在字符串中获得了一个额外的值。
下打印是这样的: 22611,21435,23327,22876,22986,23692,21581,21832,22337,24313,22174,24368,
$query = "SELECT column FROM table WHERE year in (2012)";
if ($result = mysqli_query($connect, $query)) {
while ($row = mysqli_fetch_assoc($result)) {
printf ("%s,", $row["column"]);
}
}
但是,如果我试图把结果到像这样的变量:
$data = printf ("%s,", $row["column"]);
我得到的 22611,21435,23327,22876,22986,23692,21581,21832,22337,24313,22174,24368,6
为什么输出它是否增加了这个额外的价值?我是否将结果错误地添加到变量中?仅供参考,这只是代码的一部分,我有错误处理。
你应该看看printf()手册。顺便说一下,为什么你在请求中使用“in”? – mimipc
由于年份实际上是一个变量,有时它的值是“2008,2009,2010”,或者是这种情况。 –