Mysql SQL行数组字段可以使用整数索引访问,但不能使用字符串索引访问
尝试用字符串引用索引时出错 错误: 注意:第17行C:\Program Files\EasyHP中的未定义索引:subject\u id 守则:Mysql SQL行数组字段可以使用整数索引访问,但不能使用字符串索引访问,mysql,php,Mysql,Php,尝试用字符串引用索引时出错 错误: 注意:第17行C:\Program Files\EasyHP中的未定义索引:subject\u id 守则: $Pages = mysql_query("select * from pages where subject_id ={$Row["subject_id"]}",$Connection); while ($PageRow = mysql_fetch_array($Pages)) { echo "<li>{$PageRow["me
$Pages = mysql_query("select * from pages where subject_id ={$Row["subject_id"]}",$Connection);
while ($PageRow = mysql_fetch_array($Pages))
{
echo "<li>{$PageRow["menu_name"]}</li>";
}
$Pages=mysql\u query(“从主题id={$Row[“主题id”]},$Connection的页面中选择*);
而($PageRow=mysql\u fetch\u数组($Pages))
{
echo“{$PageRow[“menu_name”]} ”;
}
但如果我使用整数索引,效果很好
echo "<li>{$Row[2]}</li>";
echo“{$Row[2]} ”;
我在一个示例代码中看到了相同的代码,它是有效的,MySQl数据库设置有问题吗?您尝试过吗
$SubjectSet=mysql_query("select * from subjects",$Connection);
while($Row=mysql_fetch_array($SubjectSet)) {
echo"<li>".$Row["menu_name"]."</li>";
}
$SubjectSet=mysql\u查询(“从主题中选择*,$Connection”);
while($Row=mysql\u fetch\u数组($SubjectSet)){
echo“”$Row[“menu_name”]。“ ”;
}
你试过吗
$SubjectSet=mysql_query("select * from subjects",$Connection);
while($Row=mysql_fetch_array($SubjectSet)) {
echo"<li>".$Row["menu_name"]."</li>";
}
$SubjectSet=mysql\u查询(“从主题中选择*,$Connection”);
while($Row=mysql\u fetch\u数组($SubjectSet)){
echo“”$Row[“menu_name”]。“ ”;
}
这是回音中的引号。。。在这两个实例中都使用双引号,这将破坏字符串(不应该这样做,因为您已经用大括号将其包装,但仍然…)
尝试:
echo“{$Row['menu_name']} ”;
如果这不起作用-请确保您正在从数据库获取关联数组;您可能需要将常量MYSQL\u ASSOC
或MYSQL\u BOTH
传递给查询(不过,默认情况下,它应该使用MYSQL\u BOTH
)
$Row=mysql\u fetch\u array($SubjectSet,mysql\u ASSOC)
这是echo中的引号。。。在这两个实例中都使用双引号,这将破坏字符串(不应该这样做,因为您已经用大括号将其包装,但仍然…)
尝试:
echo“{$Row['menu_name']} ”;
如果这不起作用-请确保您正在从数据库获取关联数组;您可能需要将常量MYSQL\u ASSOC
或MYSQL\u BOTH
传递给查询(不过,默认情况下,它应该使用MYSQL\u BOTH
)
$Row=mysql\u fetch\u array($SubjectSet,mysql\u ASSOC)
您可以尝试改用单引号:
$SubjectSet=mysql_query("select * from subjects",$Connection);
while($Row=mysql_fetch_assoc($SubjectSet))
{
echo"<li>{$Row['menu_name']}</li>";// line 17
}
$SubjectSet=mysql\u查询(“从主题中选择*,$Connection”);
while($Row=mysql\u fetch\u assoc($SubjectSet))
{
echo“{$Row['menu_name']} ”;//第17行
}
更正:
只是注意到你没有使用assoc抓取。如果您希望使用列的名称访问列,请改用
mysql\u fetch\u assoc()
方法。您可以尝试改用单引号:
$SubjectSet=mysql_query("select * from subjects",$Connection);
while($Row=mysql_fetch_assoc($SubjectSet))
{
echo"<li>{$Row['menu_name']}</li>";// line 17
}
$SubjectSet=mysql\u查询(“从主题中选择*,$Connection”);
while($Row=mysql\u fetch\u assoc($SubjectSet))
{
echo“{$Row['menu_name']} ”;//第17行
}
更正:
只是注意到你没有使用assoc抓取。如果您希望使用列的名称访问列,请使用
mysql\u fetch\u assoc()
方法。您没有将结果行作为关联数组获取&尽管您使用大括号,但为了一致性,我会将引号更改为单引号。
更改为:
$SubjectSet = mysql_query("select * from subjects" , $Connection);
while($Row = mysql_fetch_assoc($SubjectSet)) // change to mysql_fetch_assoc()
{
echo "<li>{$Row['menu_name']}</li>"; // use single quotes
}
您没有将结果行作为关联数组获取&尽管您使用大括号,但为了保持一致性,我会将引号更改为单引号。 更改为:
$SubjectSet = mysql_query("select * from subjects" , $Connection);
while($Row = mysql_fetch_assoc($SubjectSet)) // change to mysql_fetch_assoc()
{
echo "<li>{$Row['menu_name']}</li>"; // use single quotes
}
您已将错误指定为 注意:C:\Program Files\EasyHP中的未定义索引:主题id 第17行 ,因此主题id应该是问题所在。在示例代码中,将menu_name作为数组的键。那么,是哪一个呢?这个表的列是什么?如果表中有“menu\u name”列,那么您给出的代码将起作用
问题应该是要访问的列的名称。再次检查。您已将错误指定为 注意:C:\Program Files\EasyHP中的未定义索引:主题id 第17行 ,因此主题id应该是问题所在。在示例代码中,将menu_name作为数组的键。那么,是哪一个呢?这个表的列是什么?如果表中有“menu\u name”列,那么您给出的代码将起作用 问题应该是要访问的列的名称。再次检查。:)使用
MYSQL\u-ASSOC
和MYSQL\u-fetch\u-array()
或使用MYSQL\u-fetch\u-ASSOC()
:
while($Row=mysql_fetch_array($SubjectSet, MYSQL_ASSOC))
或
你可以阅读。我试着让这对你来说尽可能短 :)使用MYSQL\u-ASSOC
和MYSQL\u-fetch\u-array()
或使用MYSQL\u-fetch\u-ASSOC()
:
while($Row=mysql_fetch_array($SubjectSet, MYSQL_ASSOC))
或
你可以阅读。我试着让这对你来说尽可能短 它必须是另一行:“未定义索引:subject_id”这行中没有subject_id。
echo“”{$Row[“menu_name”]}。”
有些多余,因为您已断开字符串并将其连接在一起。。。第二个例子(echo“”$Row[“menu\u name”]。“ ”;
)更好。为了帮助我犯了一个错误,我之前发布了错误的代码部分:$sorry。它必须是另一行:“未定义索引:subject\u id”这行中没有subject\u id。echo“”{$Row[“menu\u name”]。 ”
有些多余,因为您已断开字符串并将其连接在一起。。。第二个例子(echo“”$Row[“menu_name”]。“ ”;
)比我犯了一个错误,我之前发布了错误的代码:$sorry。从技术上讲,mysql_fetch_数组获取关联数组没有问题-默认情况下,它应该获取一个包含整数索引和字段名作为键的关联数组(mysql_两者都是默认值)
但是如果出于某种原因将其设置为mysql_NUM
,然后是…@Cd001 true,但错误表示索引未定义