首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从表中的数据填充数组

如何从表中的数据填充数组
EN

Stack Overflow用户
提问于 2013-05-30 16:51:54
回答 1查看 138关注 0票数 1

我在为我妹妹写一个非常简单的座位安排。它只是一个数据库,其中有一个出席会议的人员名单,每个人都分配了一个表号($tano)。

我的PHP如下:

代码语言:javascript
复制
$con = mysql_connect('localhost', $dbuser, $dbpass) or die(mysql_error());
$db = mysql_select_db($dbname, $con) or die(mysql_error());

// Get current table no
$tableno = $_GET["t"];

// Current table -> array
$t = array();
$i = 0;
$result = mysql_query('SELECT * FROM plan WHERE tano = $tableno ORDER BY fname');
while($row = mysql_fetch_array($result)) {
$t[$i] = $row;
$i++;
}

// Get other tables (Seats Remaining)
for ($i = 1; $i <= 40; $i++) {
    $result = mysql_query("SELECT * FROM plan WHERE 'tano' = $i");
    $seatsremaining = 10-mysql_num_rows($result);
         if ($seatsremaining == 0) {$d[$i] = "Table ".$i." (No Seats Remaining)";}
    else if ($seatsremaining == 1) {$d[$i] = "Table ".$i." (1 Seat Remaining)";}
    else if ($seatsremaining >= 2) {$d[$i] = "Table ".$i." (".$seatsremaining." Seats Remaining)";}
}

?>

您可以在www.greenbottleblue.com上看到其余的HTML代码。

该数组未填充,并且存在一个令人讨厌的SQL错误:

警告: mysql_fetch_array()希望参数1是资源,在第18行/home/greenbot/public_html/index.php中给出布尔值

表的结构是:

EN

回答 1

Stack Overflow用户

发布于 2013-05-30 17:00:03

在第一个查询中,您忽略了值周围的引号:

代码语言:javascript
复制
$result = mysql_query('SELECT * FROM plan WHERE tano = $tableno ORDER BY fname');

这应该是:

代码语言:javascript
复制
$result = mysql_query("SELECT * FROM plan WHERE tano = '$tableno' ORDER BY fname");

在第二个查询中,您使用的是引号,而不是列名周围的倒计时:

代码语言:javascript
复制
$result = mysql_query("SELECT * FROM plan WHERE 'tano' = $i");

这应该是:

代码语言:javascript
复制
$result = mysql_query("SELECT * FROM plan WHERE `tano` = $i");

您应该注意,您的代码假定查询已成功完成,而不是检查。为了调试目的,可以添加:

代码语言:javascript
复制
... or die(mysql_error());

到每个mysql_query(...)语句的末尾,以获取有关尝试查询的详细信息。您应该为生产代码中的此类错误制定日志策略。

此外,请注意,使用未经过滤的用户输入$tableno = $_GET["t"];将为SQL注入攻击打开大门。考虑更新代码以使用参数化的PDO查询,或者至少过滤传入的数据。

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

https://stackoverflow.com/questions/16841798

复制
相关文章

相似问题

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