小弟刚刚接触PHP,现在遇到这样的问题:
<?php
$sqlstr="select news_picaddress,news_head from news where news_pic=1";
mysql_connect("localhost","myuserid","mypassword");
$result = mysql_db_query("xinwen",$sqlstr);
printf("Return Rows Num: %d\n",mysql_num_rows($result));//输出2
printf("Return news_picaddress: %s\n",mysql_result($result,0,"news_picaddress"));//输出查到的地址
while ($rs=mysql_fetch_array($result))
{
print_r($rs); //输出1;
$picaddress=$rs[0]; // $picaddress为null
$picaddress=$rs['news_picaddress']; // $picaddress为null
$picaddress=$rs["news_picaddress"]; // $picaddress为null
}
?>
这是为什么呢?为什么mysql_result有值,而mysql_fetch_array不能正确的提取出查询到的值呢?
<?php
$sqlstr="select news_picaddress,news_head from news where news_pic=1";
mysql_connect("localhost","myuserid","mypassword");
$result = mysql_db_query("xinwen",$sqlstr);
printf("Return Rows Num: %d\n",mysql_num_rows($result));//输出2
printf("Return news_picaddress: %s\n",mysql_result($result,0,"news_picaddress"));//输出查到的地址
while ($rs=mysql_fetch_array($result))
{
print_r($rs); //输出1;
$picaddress=$rs[0]; // $picaddress为null
$picaddress=$rs['news_picaddress']; // $picaddress为null
$picaddress=$rs["news_picaddress"]; // $picaddress为null
}
?>
这是为什么呢?为什么mysql_result有值,而mysql_fetch_array不能正确的提取出查询到的值呢?
printf("Return news_picaddress: %s\n",mysql_result($result,0,"news_picaddress"));//输出查到的地址
你把這一句去掉然後PHP官方強烈建議在PHP 4.0後不要用mysql_db_query, 應用mysql_select_db 和 mysql_query 來進行查詢
$linkrs = mysql_connect("localhost","root","root");
if (!$linkrs)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("xinwen");
$result = mysql_query($sqlstr);
$rows_num = mysql_num_rows($result); //$rows_num=2
$count = 0;
while ($rs=mysql_fetch_array($result,MYSQL_ASSOC) && $count < 5)
{
print_r($rs); //输出1
$picaddress=$rs["news_picaddress"]; //值为null
$count++;
}还是不行。
mysql_query('SET NAMES gbk');或者是mysql_query('SET NAMES utf-8') 设置下编码,有时候,编码不一致。会显示乱码或者是什么也不显示的
if (!$linkrs)
{
die('Could not connect: ' . mysql_error());
}
$temp = mysql_query('SET NAMES GBK');
$temp值为true,然后还是不行,我的Mysql设置为gbk的编码了,utf-8的也不行
===================================mysql_query(sql,数据库连接);要两个参数噢。
mysql_connect("localhost","myuserid","mypassword");
$result = mysql_query($sqlstr);
printf("Return Rows Num: %d\n",mysql_num_rows($result));//输出2
printf("Return news_picaddress: %s\n",mysql_result($result,0,"news_picaddress"));//输出查到的地址
while ($rs=mysql_fetch_array($result))
{
print_r($rs); //输出1;
$picaddress=$rs[0]; // $picaddress为null
$picaddress=$rs['news_picaddress']; // $picaddress为null
$picaddress=$rs["news_picaddress"]; // $picaddress为null
}
$sqlstr="select 'news_picaddress','news_head','news_class_id','news_type_id','news_id' from news where news_pic=1";
$linkrs = mysql_connect("localhost","root","root");
if (!$linkrs)
{
die('Could not connect: ' . mysql_error());
}
mysql_query('SET NAMES gbk') or die('set failed :'. mysql_error());
mysql_select_db("xinwen",$linkrs) or die ('select failed :'. mysql_error());
$result = mysql_query($sqlstr,$linkrs) or die ('query failed :'. mysql_error());;
$rows_num = mysql_num_rows($result);//$rows_num值为2
$count = 0;
while ($rs=mysql_fetch_array($result,MYSQL_ASSOC) && $count < 5)
{
print_r($rs);//输出1
echo "\n";
echo $rs;//输出1
echo "\n";
echo $rs["news_head"];//无输出
$count++;
}
如果用printf("Return : %s\n",mysql_result($result,0,"news_head"));仅仅输出news_head字段名。
卻變成一個數我建議你在資料庫中 跑一下 你的sql
看看資料庫查詢的結果是怎麼樣