我用MYSQL管理工具NAVICAT里面的查询工具查询以下:
SELECT DATE_FORMAT(real_time,"%H%i"),stock_price,turnover,bigbuycount,bigsellcount FROM stock_data WHERE stock_code=883300 and get_time = "2012-09-28" and real_time="09:30:00"
有一条记录。
但是我在PHP程序中输出这个结果时却没有结果。
这是什么问题?
SELECT DATE_FORMAT(real_time,"%H%i"),stock_price,turnover,bigbuycount,bigsellcount FROM stock_data WHERE stock_code=883300 and get_time = "2012-09-28" and real_time="09:30:00"
有一条记录。
但是我在PHP程序中输出这个结果时却没有结果。
这是什么问题?
解决方案 »
- 网上一考题
- 新手安装MSQL5,请高手指教。
- mysql的疑难杂症请教
- 这个删除条件 SQL语句怎么写?
- 大家进来帮忙看下我的mysql为什么总是执行不了sql语句,谢谢!
- 为何重装mysql时 重装不了了
- 如何在linux下实现对MySQL数据库实现定时自动备份(新手)-在线求助
- 绑定不了自己的数据,各位帮忙看看
- mysql主从复制:主服务器每天都产生4G多的二进制日志是怎么回事?我的数据库访问量也没那么大,是my.ini配置的原因吗?my.ini文件在下面
- 在线等。。。mysql文件执行不成功,但文件里面的语句应该没有问题,因为把sql文件中的内容在查询中能够执行,这是咋回事啊
- 请教个数据库设计的问题
- mysql中的视图有错误
比如show @@...
在程序里有8条记录
而在NAVICAT里面有9条。
这是什么原因少一条记录呢。而且少的正是我前面要查询的那条。
<?php
header ( "Content-Type: text/html; charset=utf-8" );
date_default_timezone_set ( 'PRC' );
$Link = mysql_connect ( "localhost", "root", "root" );
if (! $Link) {
echo "与数据库连接失败!";
exit ();
}
mysql_select_db ( "stock" );
$sql = 'SELECT DATE_FORMAT(real_time,"%H%i"),stock_price,turnover,bigbuycount,bigsellcount FROM stock_data WHERE stock_data.get_time = "2012-09-28" AND
stock_data.real_time = "09:30:00" AND stock_data.stock_code = "883300"';
$res = mysql_query ( $sql );
$arr = mysql_fetch_array($res);
echo"<table>";
while($arr = mysql_fetch_array($res)){
echo'<tr>';
echo'<td>'.$arr['DATE_FORMAT(real_time,"%H%i")'].'</td>';
echo"<td>".$arr["stock_price"]."</td>";
echo"<td>".$arr["turnover"]."</td>";
echo"<td>".$arr["bigbuycount"]."</td>";
echo"<td>".$arr["bigsellcount"]."</td>";
echo"</tr>";
}
echo"</table>";
$res = mysql_query ( $sql );
echo mysql_num_rows($res); //值是多少
编码问题?
$res = mysql_query ( $sql );
echo mysql_num_rows($res); //值是多少
[/Quote]
如果我改变限制条件,DOS下MYSQL得到9条记录,在网页上只有8条 总是少一条。
<?php
header ( "Content-Type: text/html; charset=utf-8" );
date_default_timezone_set ( 'PRC' );
$Link = mysql_connect ( "localhost", "root", "root" );
if (! $Link) {
echo "与数据库连接失败!";
exit ();
}
mysql_select_db ( "stock" );
$sql = 'SELECT DATE_FORMAT(real_time,"%H%i"),stock_price,turnover,bigbuycount,bigsellcount FROM stock_data WHERE stock_data.get_time = "2012-09-28" AND
stock_data.real_time = "09:30:00" AND stock_data.stock_code = "883300"';
$res = mysql_query ( $sql );
//$arr = mysql_fetch_array($res);echo"<table>";去掉
while(list ( $realtime, $stock_code, $price, $turnover, $bigbuycount, $bigsellcount ) = mysql_fetch_row ( $res ))
echo'<tr>';
echo'<td>'.$arr['DATE_FORMAT(real_time,"%H%i")'].'</td>';
echo"<td>".$arr["stock_price"]."</td>";
echo"<td>".$arr["turnover"]."</td>";
echo"<td>".$arr["bigbuycount"]."</td>";
echo"<td>".$arr["bigsellcount"]."</td>";
echo"</tr>";
}
echo"</table>";这样结果就显示了,可是我不明白原理,为什么我用mysql_fetch_row 替换mysql_fetch_array就行了呢
$arr = mysql_fetch_array($res); //哥,你这里先取了一次,但是并没有使用这个结果
echo"<table>";
while($arr = mysql_fetch_array($res)){ //然后,这里才从第二行数据开始使用,肯定要少一条啊
echo'<tr>';
echo'<td>'.$arr['DATE_FORMAT(real_time,"%H%i")'].'</td>';
echo"<td>".$arr["stock_price"]."</td>";
echo"<td>".$arr["turnover"]."</td>";
echo"<td>".$arr["bigbuycount"]."</td>";
echo"<td>".$arr["bigsellcount"]."</td>";
echo"</tr>";