我有mysql表看起来像这个
id title start resourceId
5 event1 2014-08-15 08:00:00 STK1
6 event2 2014-08-15 08:00:00 STK2
7 event3 2014-08-15 08:00:00 STK3
和php查询:
<?php
include("config.php");
$data = mysql_query ("SELECT * FROM `evenement`");
$zaznam = mysql_fetch_array ($data);
while($zaznam = mysql_fetch_array ($data))
{
$arr2[] = $zaznam["start"].$zaznam["resourceId"];
}
print_r($arr2);
?>
这个查询工作得很好,但我总是得到event2和3.它绝对不会看到第一个结果。
这是我的 print_r($ arr2);
Array ( [0] => 2014-08-15 08:00:00STK2 [1] => 2014-08-15 08:00:00STK3 )
我不明白为什么我只得到两个结果。它一直都在工作,但今天,我把桌子倒空了,它就停止了工作。
答案 0 :(得分:2)
你有两次mysql_fetch_array()调用,第一次是在循环获得第一行之前。
使用
$data = mysql_query ("SELECT * FROM `evenement`");
while($zaznam = mysql_fetch_array ($data))
{
$arr2[] = $zaznam["start"].$zaznam["resourceId"];
}
代替。
答案 1 :(得分:1)
你两次获取你的resoults:
$zaznam = mysql_fetch_array ($data);
while($zaznam = mysql_fetch_array ($data))
删除第一个。
答案 2 :(得分:1)
您正在拨打mysql_fetch_array
两次,请删除此行:
$zaznam = mysql_fetch_array ($data);
你永远不会使用它,因为你覆盖了while循环中的值。
另请注意,mysql_*
函数已弃用,请改用mysqli_*
。
答案 3 :(得分:0)
在while循环之前从代码中删除此行。
$zaznam = mysql_fetch_array ($data);
你得到错误,因为当调用mysql_fetch_array函数时,它会从mysql_query结果中获得结果。