❶ php里mysql_fetch_row()
正常是这样的
$sql = "select * from user";
$query = mysql_query($sql);
while(@$row = mysql_fetch_row){
echo $row[0];
}
这里的$row意思就是 根据那条sql语句查询出来的结果集 是一个数组。
如果你用的是 mysql_fetch_row 那么可以使用$row[0] $row[1]这样来打印你所查询的表的列 0表示第一个字段 1为第2个字段 以此类推
如果你使用mysql_fetch_array 那么打印的时候你可以使用 $row[id] $row[name] 直接使用字段名称 这样更加一目了然。
总的来说 这里的row就是结果集的意思 是一个数组。
$row = mysql_fetch_row 为空的时候(也就是没有查询到结果) 会报错。
最好在$row前面加一个@来屏蔽这个错误。
❷ php中的fetch_row 是取多少内容
$res->fetch_row;默认是从栏目名开始往下取一行数据(即第一行)。
经常配合while使用
比如
while($res->fetch_row){
代码
}
意思就是从栏目名一直往下取一行数据,直到取完。也就是取得所有的行数
❸ php fetchrow出来的全是乱码文
mysql+php产生乱码原因:
mysql数据库默认的编码是utf8,如果这种编码与你的PHP网页不一致,可能就会造成MYSQL乱码.
MYSQL中创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码.
MYSQL创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码.
用户提交页面的编码与显示数据的页面编码不一致,就肯定会造成PHP页面乱码.
如用户输入资料的页面是big5码, 显示用户输入的页面却是gb2312,这种100%会造成PHP页面乱码.
PHP页面字符集不正确.
PHP连接MYSQL数据库语句指定的编码不正确.
mysql+php产生乱码的解决办法:
1、如果安装mysql的编码已不能更改,很多朋友是购买虚拟主机建立网站,无权更改MYSQL的安装编码,这一关我们可以跳过,因为只要后面的步聚正确,一样能解决乱码问题
2、修改数据库编码,如果是数据库编码不正确,可以在phpmyadmin 执行如下命令:
ALTER DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
以上命令就是将test数据库的编码设为utf8.
3、修改表的编码:
ALTER TABLE 'category' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
以上命令就是将一个表category的编码改为utf8.
4、修改字段的编码:
ALTER TABLE 'test' CHANGE 'dd' 'dd' VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
以上命令就是将test表中 dd的字段编码改为utf8.
5、如果是这种情况容易解决,只需检查下页面,修改源文件的charset即可.
6、这种情况也是修改页面charset即可.
7、在连接数据库的语句中.
mysql_connect('localhost','user','password');
mysql_select_db('my_db');
mysql_query("set names utf8;");
//select 数据库之后加多这一句
为了避免PHP页面乱码的发生,PHP页面开始第一句
header("content-type:text/html; charset=utf-8");
//强行指定页面的编码,以避免乱码
网络网友alexdany空间
❹ php中mysql_fetch_row():赋值报错大神们帮帮忙
在reslut为0的时候会出现这个错误,这时候,要检查一下表名,数据库名,连接等等。。 你SQL语句对吗?FRON !!是FROM吧
❺ php执行sql的mysql_fetch_row函数 为什么只能输出出第一行的数据 后面的怎么出来
用mysql_fetch_array你的mysql_fetch_row() 从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始
❻ 在php中能用mysql_fetch_row()取出指定的一条记录吗
我来回答吧:
如果$query="select * from t_information where FLable='3'"的结果集中 只有一条记录,那么$row就是第一条记录,如果$result返回大于1条记录,那么mysql_fetch_row只是返回当前一条记录,可以通过循环依次返回每条记录
如: while($row=mysql_fetch_row($result))
{
//$row 为每次循环中当前记录。
//$row[1] 代表当前行中的第二个字段的值。
}
❼ 关于php的mysql_fetch_row()的问题
和条件有关系 你后面的where `gid` = '$logid'
去掉这个 然后打印出来看看
如果是正常的 那说明就是条件导致的