使用PHP将MySQL中的行解析为文件不起作用
我试图将整个MySQL表解析为以行命名的文件。然而,它似乎漏掉了很多文件,只是工作不正常,但我不明白出了什么问题。以下是我正在使用的:使用PHP将MySQL中的行解析为文件不起作用,php,mysql,Php,Mysql,我试图将整个MySQL表解析为以行命名的文件。然而,它似乎漏掉了很多文件,只是工作不正常,但我不明白出了什么问题。以下是我正在使用的: $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 =
$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);
}
}
有人看到什么不对劲吗?如果我没有看错的话,这句话似乎是这样的:
$file .= $common = str_replace(explode(',', $rules['except']), "", $common);
将始终为空。如果$file=={,则您正在搜索的问题似乎在此行中。只有在$file为空时才是真的。但我认为您需要以下条件:
if($file != '') {
此外,我建议您始终关闭已打开的文件:
if($file != '') {
$handle = fopen($rules['site'].'.css', 'w');
fwrite($handle, $file);
fclose($handle);
}
您缺少for块中的一些代码。请编辑您的帖子并在编码之前缩进4个空格以正确格式化。是的……没有格式化,代码块似乎也不完整。