PHP MYSQL 大小写替换在数组中


PHP MYSQL CASE substitution in array

大家早上,新年快乐!

我正在尝试将 MYSQL 数据库中的所有记录选择到一个数组中,其中 1 列与列表匹配,然后在从该列中选择单元格时替换单元格的输出。

这是一个运动桌,我有MF,DF,CF的位置,并希望分别用中场,防守和前锋取代它们。

我希望以下内容可以破解它,但收到一条错误消息,该消息与 FROM 行对齐:

警告:mysql_fetch_assoc() 期望参数 1 是资源,布尔值在/home/peterborough/www/www/wp-content/plugins/insert-php/insert_php.php(48) 中给出:eval()'d 代码在第 14 行

   $result = mysql_query("SELECT *,
                        CASE Position 
                          WHEN 'DF' THEN 'Defence'
                          WHEN 'MF' THEN 'Midfield'
                          WHEN 'CF' THEN 'Forward'
                      FROM People 
                      WHERE
                         (Position='DF' or
                          Position='MF' or
                          Position='CF') and
                          Season = '2014'
                      ORDER BY Number");
  while($row = mysql_fetch_assoc($result)){...}

谢谢大家

您的

SQL中存在语法错误: CASE表达式需要END

  SELECT *,
    CASE Position 
      WHEN 'DF' THEN 'Defence'
      WHEN 'MF' THEN 'Midfield'
      WHEN 'CF' THEN 'Forward'
    END AS position_long
  FROM People 
  WHERE
     (Position='DF' or
      Position='MF' or
      Position='CF') and
      Season = '2014'
  ORDER BY Number

解释:当语法错误命中时,你会从mysql_query()调用中获得FALSE,并且当它传递到mysql_fetch_assoc()时,它会抱怨被赋予布尔而不是资源