代码之家  ›  专栏  ›  技术社区  ›  Arda Xi

使用PHP将MySQL中的行解析为文件不起作用

  •  0
  • Arda Xi  · 技术社区  · 15 年前

    $link = mysql_connect(...); //*Let's assume this is correct*
    mysql_select_db(*This too*);
    $query = "SELECT * FROM rules";
    $result = mysql_query($query) or die(mysql_error());
    $num = mysql_num_rows($result) or die(mysql_error());
    for($x = 0;$x < $num;$x++) {
        $rules = mysql_fetch_assoc($result);
        $file = '';
        if($rules['except'])
            $file .= $common = str_replace(explode(',', $rules['except']), "", $common);
        if($rules['custom'])
            $file .= $rules['custom'];
        if($rules['css'])
            $file .= trim($rules['css'], ";")."{display:none !important;height:0px !important;width:0px !important;}";
        if($file == '') {
            $handle = fopen($rules['site'].'.css', 'w');
            fwrite($handle, $file);
        }
    }
    

    有人看到什么不对劲吗?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Ivan Nevostruev    15 年前

    看起来您正在搜索的问题在这一行中 if($file == '') { . 只有在 $file 是空的。但我认为你需要一个类似以下的条件:

    if($file != '') {
    

    此外,我建议您始终关闭已打开的文件:

    if($file != '') {
       $handle = fopen($rules['site'].'.css', 'w');
       fwrite($handle, $file);
       fclose($handle);
    }
    
        2
  •  0
  •   Sabeen Malik    15 年前

    $file .= $common = str_replace(explode(',', $rules['except']), "", $common);
    

    总是空的。