首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >菜鸟While循环

菜鸟While循环
EN

Stack Overflow用户
提问于 2012-12-03 05:27:33
回答 3查看 81关注 0票数 0

当我尝试显示资源警告时,我得到了以下错误: mysql_numrows()期望参数1为index.php,布尔值在C:\xampp\htdocs\cards\index.php第18行给出

我不知道是我没有正确地连接到数据库,还是其他一些错误。基本上,我正在尝试显示来自我的表“卡片”的3行随机数据。表中我想要显示其数据的列是"playerName“。我还不担心数据的格式化。代码如下:

代码语言:javascript
复制
<?php
include_once 'header.php';
require_once 'config.php';

 $con = mysql_pconnect("localhost","*****","*****");
 mysql_select_db("USE cards",$con);
 $cards=0;
 if (!$con)
 {
 die('Could not connect: ' . mysql_error());
 }

 $sql = "SELECT * FROM cards ORDER BY RAND() LIMIT 3";

 $results = mysql_query($sql);
 $array = mysql_fetch_array($results);

 $num=mysql_num_rows($results);

 $i=0;
 while ($i < $num) {

 echo $rows['playerName'];
 $i++;
}

 include_once 'footer.php';

?>

我知道这可能是一个简单的新手问题,但我很感谢你的帮助。

EN

回答 3

Stack Overflow用户

发布于 2012-12-03 05:32:20

您的mysql_select_db调用应该只将数据库名称作为第一个参数,而不是整个USE语句。最有可能的情况是,它静默地失败,并且不选择卡片数据库。然后查询失败(再一次静默地)返回false。

票数 3
EN

Stack Overflow用户

发布于 2012-12-03 05:51:05

而且,它是mysql_num_rows (不是mysql_numrows)。

手册:http://php.net/manual/en/function.mysql-num-rows.php

票数 1
EN

Stack Overflow用户

发布于 2012-12-03 07:36:39

有两件事,回显一个数组不会打印它(echo $results;),而是使用print_r($results)或var_dump($results)和另一件事,我认为错误是由于没有返回结果而引起的,但是如果你使用var_dump或print_r,你将能够验证是否是这种情况:)

这里还有一个拼写错误:$con = mysql_pconnect("localhost","jalexander","brunswick3");从connect :中删除p)

此外,您可能希望在以下位置使用asterixes替换您的数据库凭据:)

最后,你声明了变量卡,但从来没有使用过它?

实际上,将$rowsplayerName更改为$rows‘’playerName‘

为了获得不同的行,可以使用而不是使用while循环:

代码语言:javascript
复制
foreach($array as $row){
echo $row['playerName'];
}

或使用while循环执行此操作,请使用

代码语言:javascript
复制
$i=0;
 while ($i < $num) {

 echo $rows[$i]['playerName'];
 $i++;
}

这在您当前的代码中不起作用,因为您没有遍历数组的元素,只是每次都回显相同的元素

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13674038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档