首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“字段列表”中未知列“xxxxxx”

问“字段列表”中未知列“xxxxxx”
EN

Stack Overflow用户
提问于 2015-08-10 18:48:50
回答 1查看 662关注 0票数 1

我知道有很多关于这个的话题,我都看过了,但它们都帮不了我。我的表名是正确的,没有空格或任何不寻常的地方。我检查了100次,又检查了100次。我会把我的两段代码都贴出来,希望有人能帮上忙。

当我尝试使用submit按钮:错误更新概率:‘字段列表’中未知列'homeOdds‘时,我会得到这个错误

员额:

代码语言:javascript
复制
if ($_POST['action'] == 'Update') {
foreach($_POST['game'] as $game) {

    $homeScore = ((strlen($game['homeScore']) > 0) ? $game['homeScore'] : 'NULL');
    $homeOdds = (str_replace("\xBD", ".5", $homeScore));
    $visitorScore = ((strlen($game['visitorScore']) > 0) ? $game['visitorScore'] : 'NULL');
    $visitorOdds = (str_replace("\xBD", ".5", $visitorScore));
    $sql = "update " . $db_prefix . "schedule ";
    $sql .= "set homeOdds = '" . $homeOdds . "', visitorOdds = '" . $visitorOdds . "' ";
    $sql .= "where gameID = " . $game['gameID'];
    mysql_query($sql) or die('Error updating odds: ' . mysql_error());
}
header('Location: index.php');
}

表格/表格及更新按钮:

代码语言:javascript
复制
<form id="scoresForm" name="scoresForm" action="odds.php" method="post">
<input type="hidden" name="week" value="<?php echo $week; ?>" />
<?php
$sql = "select s.*, ht.city, ht.team, ht.displayName, vt.city, vt.team, vt.displayName ";
$sql .= "from " . $db_prefix . "schedule s ";
$sql .= "inner join " . $db_prefix . "teams ht on s.homeID = ht.teamID ";
$sql .= "inner join " . $db_prefix . "teams vt on s.visitorID = vt.teamID ";
$sql .= "where weekNum = " . $week . " ";
$sql .= "order by gameTimeEastern";
$query = mysql_query($sql);
if (mysql_num_rows($query) > 0) {
echo '<table cellpadding="4" cellspacing="0" class="table1">' . "\n";
echo '  <tr><th colspan="6" align="left">Week ' . $week . '</th></tr>' . "\n";
$i = 0;
while ($result = mysql_fetch_array($query)) {
    $homeTeam = new team($result['homeID']);
    $visitorTeam = new team($result['visitorID']);
    $rowclass = (($i % 2 == 0) ? ' class="altrow"' : '');
    echo '      <tr' . $rowclass . '>' . "\n";
    echo '          <td><input type="hidden" name="game[' . $result['gameID'] . '][gameID]" value="' . $result['gameID'] . '" />' . date('D n/j g:i a', strtotime($result['gameTimeEastern'])) . ' ET</td>' . "\n";
    echo '          <td align="right"><input type="hidden" name="gameID[' . strtolower($visitorTeam->team) . ']" value="' . $result['gameID'] . '" />' . $visitorTeam->teamName . '</td>' . "\n";
    echo '          <td><input type="text" name="game[' . $result['gameID'] . '][visitorScore]" id="game[' . $result['gameID'] . '][visitorScore]" value="' . $result['visitorOdds'] . '" size="3" /></td>' . "\n";
    echo '          <td align="right"><input type="hidden" name="gameID[' . strtolower($homeTeam->team) . ']" value="' . $result['gameID'] . '" />at ' . $homeTeam->teamName . '</td>' . "\n";
    echo '          <td><input type="text" name="game[' . $result['gameID'] . '][homeScore]" id="game[' . $result['gameID'] . '][homeScore]" value="' . $result['homeOdds'] . '" size="3" /></td>' . "\n";
    echo '      </tr>' . "\n";
    $i++;
}
echo '</table>' . "\n";
}
?>
<br><input type="submit" name="action" value="Update" />
</form>

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-10 19:10:31

为了调试这一点,在将var_dump提交到数据库之前,回送(或$sql )包含在$sql变量中的动态生成的SQL。

然后把这份声明交给另一个客户来测试。

MySQL告诉您,要引用的表schedule不包含名为homeOdds的列。

我们没有看到所有被合并到SQL文本中的变量的内容。(代码似乎容易受到SQL注入的影响。

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

https://stackoverflow.com/questions/31926958

复制
相关文章

相似问题

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