代码之家  ›  专栏  ›  技术社区  ›  Marco

如何在SELECT语句中插入变量而不需要中间变量?[副本]

  •  -1
  • Marco  · 技术社区  · 4 年前

    将变量直接插入 SELECT :

    $secondary_types = [
        [1, 'compilation', 'recopilatorios', $config['uri']['discography_compilation']],
        [10, 'original', 'original', $config['uri']['discography_original']],
        [11, 'colaboration', 'colaboraciones', $config['uri']['discography_colaboration']],
        [12, 'other', 'otros', $config['uri']['discography_other']]
    ]
    
    $q = [
        'query' => "SELECT $secondary_types[1][1] catname, rl.release_id, rl.name rlname..."
    ];
    

    我得到一个错误: Notice: Array to string conversion

    $secondary_types = [
        [1, 'compilation', 'recopilatorios', $config['uri']['discography_compilation']],
        [10, 'original', 'original', $config['uri']['discography_original']],
        [11, 'colaboration', 'colaboraciones', $config['uri']['discography_colaboration']],
        [12, 'other', 'otros', $config['uri']['discography_other']]
    ]
    
    $tmp = $secondary_types[1][1];
    
    $q = [
        'query' => "SELECT '$tmp' catname, rl.release_id, rl.name rlname..."
    ];
    

    1 回复  |  直到 4 年前
        1
  •  1
  •   RiggsFolly    4 年前

    当直接在字符串中插入变量时,可以使用大括号来消除歧义。

    $q = [
        'query' => "SELECT {$secondary_types[1][1]}, catname, rl.release_id, rl.name rlname..."
    ];