0

我试图通过将其写入文本文件而不是编辑 sql 数据库来弄清楚这个古老的 php sql 代码的作用。不过,这个for循环给我带来了重大问题。它只是不返回任何东西!我认为这与花括号变量有关${$currID}

$ids变量是从网站上提取的量具数组,因为我可以echo $ids[$i];,所以它可以正常工作,它返回量具的数量。

哦,是的,被注释掉的部分是我为了避免编辑 sql 数据库而省略的代码的原始部分。我认为将它们包括在内可能很重要。

$file = fopen("test.txt","w");
$intizzler = count($ids);

for($i=0; $i<$intizzler; $i++){
//echo ($i+1) . " / " . $intizzler . ":";
$currID = $ids[$i];
${$currID} = new gage($currID);

//mysql_query("INSERT INTO gage
    //(id,lng,lat,title,text,pic,datum,coords,county)VALUES(
    echo fwrite($file,${$currID}->getField('id'));
    echo fwrite($file,${$currID}->getField('long'));
    echo fwrite($file,${$currID}->getField('lat'));
    echo fwrite($file,${$currID}->getField('title'));
    echo fwrite($file,${$currID}->getField('text'));
    echo fwrite($file,${$currID}->getField('pic'));
    echo fwrite($file,${$currID}->getField('datum'));
    echo fwrite($file,${$currID}->getField('coords'));
    echo fwrite($file,${$currID}->getField('county'));
    //)") or die(mysql_error());

//echo "Write complete for $currID <br/>";
}

我完全被难住了。任何帮助,将不胜感激。

4

2 回答 2

0

如使用变量变量时的注释中所述,变量仍然必须解析为有效的变量名。试试这个:

<?php

$file = fopen("test.txt","w");
$intizzler = count($ids);

for($i=0; $i<$intizzler; $i++){
//echo ($i+1) . " / " . $intizzler . ":";
$currID = $ids[$i];
$gage = new gage($currID);

//mysql_query("INSERT INTO gage
    //(id,lng,lat,title,text,pic,datum,coords,county)VALUES(
    echo fwrite($file,$gage->getField('id'));
    echo fwrite($file,$gage->getField('long'));
    echo fwrite($file,$gage->getField('lat'));
    echo fwrite($file,$gage->getField('title'));
    echo fwrite($file,$gage->getField('text'));
    echo fwrite($file,$gage->getField('pic'));
    echo fwrite($file,$gage->getField('datum'));
    echo fwrite($file,$gage->getField('coords'));
    echo fwrite($file,$gage->getField('county'));
    //)") or die(mysql_error());

//echo "Write complete for $currID <br/>";
}
于 2013-07-11T17:20:48.583 回答
0

我忘了包括一个mysql_query!现在我可以访问代码了!

$result = mysql_query("select * from mytable");

就是这么简单!

于 2013-07-12T15:53:18.653 回答