PHP如何输出数据库的每条数据
<?php$link=mysql_connect("localhost","","");MySQL_query("SETNAMES'gbk'");$sql="select...
<?php
$link=mysql_connect("localhost","","");
MySQL_query("SET NAMES 'gbk'");
$sql = "select * from books";
$my_db = mysql_select_db(test,$link);
/*
$result = mysql_query($sql, $link); // 执行查询语句
$bookInfo = mysql_fetch_array($result); //返回查询结果到数组
mysql_close($link);
$name = $bookInfo["name"]; //将数据从数组取出
$price = $bookInfo["price"];
$isbn = $bookInfo["ISBN"];
echo "<li>《".$name."》</br>价格:".$price."</br>ISBN:".$isbn."</li>"; //输出数据
?>
如上面代码,实际上就是从mysql中select些数据
但是这样字写只能echo一次数据,也就是第一条数据
如果想输出所有符合要求的,要怎么写呢? 展开
$link=mysql_connect("localhost","","");
MySQL_query("SET NAMES 'gbk'");
$sql = "select * from books";
$my_db = mysql_select_db(test,$link);
/*
$result = mysql_query($sql, $link); // 执行查询语句
$bookInfo = mysql_fetch_array($result); //返回查询结果到数组
mysql_close($link);
$name = $bookInfo["name"]; //将数据从数组取出
$price = $bookInfo["price"];
$isbn = $bookInfo["ISBN"];
echo "<li>《".$name."》</br>价格:".$price."</br>ISBN:".$isbn."</li>"; //输出数据
?>
如上面代码,实际上就是从mysql中select些数据
但是这样字写只能echo一次数据,也就是第一条数据
如果想输出所有符合要求的,要怎么写呢? 展开
6个回答
展开全部
结果已经有了,我就说下这句话的区别
mysql_select_db,字面上就能理解,选择数据库
去PHP手册中可以发现该函数的返回值是bool,也就是布尔值
bool mysql_select_db ( string $database_name [, resource $ link_identifier ] )
只是确定操作是否成功
$result = mysql_query($sql, $link); // 执行查询语句
是执行查询语句,这时返回的是
resource mysql_query ( string $query [, resource $link_identifier ] )
资源符号,通过var_dump($result)可以看到该变量的类型,不是数组
随后通过mysql_fetch_array($result);获取实际查询语句所能获取的数据
每次操作,返回一行数据
该操作会变相的移动该资源的指针,PHP的概念里面没有指针,但需要知道该函数可以多次执行
概念和foreach一致
所以通过
while ($bookInfo = mysql_fetch_array($result)){
}
可以获取所有的行数据
如果没有数据会返回false,所以while会自动停止循环
mysql_select_db,字面上就能理解,选择数据库
去PHP手册中可以发现该函数的返回值是bool,也就是布尔值
bool mysql_select_db ( string $database_name [, resource $ link_identifier ] )
只是确定操作是否成功
$result = mysql_query($sql, $link); // 执行查询语句
是执行查询语句,这时返回的是
resource mysql_query ( string $query [, resource $link_identifier ] )
资源符号,通过var_dump($result)可以看到该变量的类型,不是数组
随后通过mysql_fetch_array($result);获取实际查询语句所能获取的数据
每次操作,返回一行数据
该操作会变相的移动该资源的指针,PHP的概念里面没有指针,但需要知道该函数可以多次执行
概念和foreach一致
所以通过
while ($bookInfo = mysql_fetch_array($result)){
}
可以获取所有的行数据
如果没有数据会返回false,所以while会自动停止循环
展开全部
<?php
$link=mysql_connect("localhost","","");
MySQL_query("SET NAMES 'gbk'");
$sql = "select * from books";
$result = mysql_query($sql, $link); // 执行查询语句
while ($bookInfo = mysql_fetch_array($result)){ //返回查询结果到数组
$name = $bookInfo["name"]; //将数据从数组取出
$price = $bookInfo["price"];
$isbn = $bookInfo["ISBN"];
echo "<li>《".$name."》</br>价格:".$price."</br>ISBN:".$isbn."</li>"; //输出数据
}
mysql_free_result($result);
mysql_close($link);
?>
看明白了吗,使用while输出所有数据。
$link=mysql_connect("localhost","","");
MySQL_query("SET NAMES 'gbk'");
$sql = "select * from books";
$result = mysql_query($sql, $link); // 执行查询语句
while ($bookInfo = mysql_fetch_array($result)){ //返回查询结果到数组
$name = $bookInfo["name"]; //将数据从数组取出
$price = $bookInfo["price"];
$isbn = $bookInfo["ISBN"];
echo "<li>《".$name."》</br>价格:".$price."</br>ISBN:".$isbn."</li>"; //输出数据
}
mysql_free_result($result);
mysql_close($link);
?>
看明白了吗,使用while输出所有数据。
追问
发现了个错误:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in
这个我已经解决了,发现是少了这一句:
$my_db = mysql_select_db(test,$link);
可是我发现下面并没有用到my_db这个变量。为什么缺少了这个变量就会出错呢?
另外$result已经是一个数组了吗?
追答
我一般不用mysql_select_db,所以删除了这句,但是SQL相应修改就好了:
$sql = "select * from test.books";
$result是资源,不是数组。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结果已经有了,我就说下这句话的区别
mysql_select_db,字面上就能理解,选择数据库
去PHP手册中可以发现该函数的返回值是bool,也就是布尔值
bool mysql_select_db ( string $database_name [, resource $ link_identifier ] )
只是确定操作是否成功
$result = mysql_query($sql, $link); // 执行查询语句
是执行查询语句,这时返回的是
resource mysql_query ( string $query [, resource $link_identifier ] )
资源符号,通过var_dump($result)可以看到该变量的类型,不是数组
随后通过mysql_fetch_array($result);获取实际查询语句所能获取的数据
每次操作,返回一行数据
该操作会变相的移动该资源的指针,PHP的概念里面没有指针,但需要知道该函数可以多次执行
概念和foreach一致
所以通过
while ($bookInfo = mysql_fetch_array($result)){
}
可以获取所有的行数据
如果没有数据会返回false,所以while会自动停止循环
希望能帮助你理解,返回值
mysql_select_db,字面上就能理解,选择数据库
去PHP手册中可以发现该函数的返回值是bool,也就是布尔值
bool mysql_select_db ( string $database_name [, resource $ link_identifier ] )
只是确定操作是否成功
$result = mysql_query($sql, $link); // 执行查询语句
是执行查询语句,这时返回的是
resource mysql_query ( string $query [, resource $link_identifier ] )
资源符号,通过var_dump($result)可以看到该变量的类型,不是数组
随后通过mysql_fetch_array($result);获取实际查询语句所能获取的数据
每次操作,返回一行数据
该操作会变相的移动该资源的指针,PHP的概念里面没有指针,但需要知道该函数可以多次执行
概念和foreach一致
所以通过
while ($bookInfo = mysql_fetch_array($result)){
}
可以获取所有的行数据
如果没有数据会返回false,所以while会自动停止循环
希望能帮助你理解,返回值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?php
$link=mysql_connect("localhost","","");
MySQL_query("SET NAMES 'gbk'");
$sql = "select * from books";
$result = mysql_query($sql, $link); // 执行查询语句
while ($bookInfo = mysql_fetch_array($result)){ //返回查询结果到数组
$name = $bookInfo["name"]; //将数据从数组取出
$price = $bookInfo["price"];
$isbn = $bookInfo["ISBN"];
echo "<li>《".$name."》</br>价格:".$price."</br>ISBN:".$isbn."</li>"; //输出数据
}
mysql_free_result($result);
mysql_close($link);
?>
看明白了吗,使用while输出所有数据。
$link=mysql_connect("localhost","","");
MySQL_query("SET NAMES 'gbk'");
$sql = "select * from books";
$result = mysql_query($sql, $link); // 执行查询语句
while ($bookInfo = mysql_fetch_array($result)){ //返回查询结果到数组
$name = $bookInfo["name"]; //将数据从数组取出
$price = $bookInfo["price"];
$isbn = $bookInfo["ISBN"];
echo "<li>《".$name."》</br>价格:".$price."</br>ISBN:".$isbn."</li>"; //输出数据
}
mysql_free_result($result);
mysql_close($link);
?>
看明白了吗,使用while输出所有数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$result是一个结果集。
mysql_select_db是选择下面mysql_query操作的数据库。
至于你按照回答发现的错误是引用资源出错了。
mysql_select_db是选择下面mysql_query操作的数据库。
至于你按照回答发现的错误是引用资源出错了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询