Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL行数组字段可以使用整数索引访问,但不能使用字符串索引访问_Mysql_Php - Fatal编程技术网

Mysql SQL行数组字段可以使用整数索引访问,但不能使用字符串索引访问

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

尝试用字符串引用索引时出错

错误:

注意:第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["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,但错误表示索引未定义