【发布时间】:2012-08-26 17:16:26
【问题描述】:
我一直在练习 php 和 mysql,目前我正在创建一个简单的数据库管理器。除了这段代码之外,一切正常:http://snipt.org/vCW0
这段代码应该做的是从数据库中获取所有结果并显示它们,除了在显示位置和团队名称时它应该更改位置和团队名称值(我使用缩写插入数据库,例如 'qb' 而不是 'Quarterback' 以节省空间)到它们的完整等价物(所以 'gba' 应该显示为 'Green Bay Packers' 等)(最后是一个用于添加新条目的表格)。它实际上正确显示了它们,但是当我向数据库添加新播放器时,出现以下错误:
警告:第 97 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'qb' 警告:第 98 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'rb' 警告:第 99 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'fb' 警告:第 100 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'te' 警告:第 101 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'wr' 警告:第 102 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'ol' 警告:第 103 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'dt' 警告:第 104 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'de' 警告:第 105 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'mlb' 警告:第 106 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'olb' 警告:第 107 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'cb' 警告:第 108 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 's' 警告:第 109 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'ret' 警告:第 110 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'k' 警告:第 111 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'p' 警告:第 116 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'ari' 警告:第 117 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'atl' 警告:第 118 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'bal' 警告:第 119 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'buf' 警告:第 120 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'car' 警告:第 121 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'chi' 警告:第 122 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'cin' 警告:第 123 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'cle' 警告:第 124 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'dal' 警告:第 125 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'den' 警告:第 126 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'det' 警告:第 127 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'gba' 警告:第 128 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'hou' 警告:第 129 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'ind' 警告:第 130 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'jax' 警告:第 131 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'kan' 警告:第 132 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'mia' 警告:第 133 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移量 'min' 警告:第 134 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'nen' 警告:第 135 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'nor' 警告:第 136 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'nyg' 警告:第 137 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'nyj' 警告:第 138 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'oak' 警告:第 139 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'phi' 警告:第 140 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'pit' 警告:第 141 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'sdg' 警告:第 142 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'sfr' 警告:第 143 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'sea' 警告:第 144 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'stl' 警告:第 145 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'tam' 警告:第 146 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移量“十” 警告:第 147 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'was' 警告:第 153 行 C:\web\project2\ranking_nfl.php 中的非法字符串偏移 'gba' 警告:C:\web\project2\ranking_nfl.php 中第 154 行的非法字符串偏移 'qb'
但是,尽管出现错误,记录仍会添加到数据库并显示在页面上。删除记录不会显示任何错误。
这里是完整代码:http://snipt.org/vCV8
谢谢。
【问题讨论】:
-
不要使用
$position和$team来表示表单中发布的值,以及包含从缩写到全名的映射的数组。使用不同的变量。我怀疑将这些变量作为字符串绑定到准备好的语句然后尝试将它们用作数组时会出现一些问题。 -
我将所有
$position和$team变量分别更改为$position_show和$team_show,并将它们分别显示为$position_show[$position_full]和$team_show[$team_full]的代码,它工作正常现在。非常感谢! -
prepared 语句无关紧要,只是它们最初被分配为字符串,然后您尝试将它们用作数组。我建议的另一件事是:在 for 循环之外分配 $position_show 和 $team_show,因为它们始终相同。另外,在一项作业中完成:
$position_show = array('qb'=>'Quarterback', 'rb'=>'Running Back', ...); -
谢谢,我没想到 :)