2010-04-21 94 views
0

我有一个PHP文件从MySQL数据库回应散列。这对于我正在使用的远程程序是必需的,但同时我需要另一个php脚本打开并检查它是否指定了字符串POST解析。如果它检查字符串预分析,它只会得到MySQL查询,而不是字符串查找。有没有可以读取php函数后解析的函数?

我不确定是否有任何功能做到这一点。 fopen()在解析之前是否读取文件?或file_get_contents()?

如果是这样,是否有一个函数会在php和mysql代码运行后读取文件?

带有散列查询和回显的文件与读取它的php文件位于同一目录中,如果这有所帮助。

也许fopen在解析后读取它,并且我做了一些错误的事情,但起初我将哈希直接存储在文件中,并且工作正常。在我改变它来回应MySQL表格的内容后,它就会出错。

MySQL查询脚本:

$query="SELECT * FROM list"; 
$result=mysql_query($query); 
while($row=mysql_fetch_array($result, MYSQL_ASSOC)){ 
echo $row['hash']."<br>"; 
} 

我是用什么之前得到来自这个脚本的哈希值,当它只是一个哈希表:

  $myFile = "hashes.php"; 
      $fh = fopen($myFile, 'r'); 
      $theData = fread($fh, filesize($myFile)); 
      fclose($fh); 
      $mystring = $theData; 
      $findme = $hash; 
      $pos = strpos($mystring, $findme); 

回答

1

最简单的事情将修改您的第一个PHP文件,该文件相呼应的一切,沿着这些线路:

  • 变化每个实例到例如$data[] =
  • 在底部,也foreach($data as $d) echo $d(这将产生相同的结果,你现在所拥有的)
  • 你现在仍然有你的$data阵列,它可以遍历和做任何你用它喜欢。

要提供工作代码示例,如果您可以发布您的文件的当前代码将是很好的。

编辑

如果你改变你的脚本,像这样:

$query="SELECT * FROM list"; 
$result=mysql_query($query); 
while($row=mysql_fetch_array($result, MYSQL_ASSOC)){ 
$data[] = $row['hash']."<br />"; 
} 
foreach($data as $d) { 
    echo $d; 
} 

...你必须包含在一个关键的每个哈希数组$的数据。您可以再通过这个数组循环,像这样:

foreach($data as $d) { 
    //do something 
} 
+0

更新与当前的代码。 – Rob 2010-04-21 05:58:04

+0

您是否尝试过在其他脚本中重新使用变量'$ result'?你可以在while循环中做同样的事情。你根本不需要像fopen()这样的东西。也就是说,我不确定你想要在新脚本中保留哪种解析方式 - 现在你所做的只是用'
'标签回显每一行(你可以改为“
”顺便说一下,保持XHTML兼容)。这是你的解析吗? – bobsoap 2010-04-21 06:35:14

+0

上面更新了我的回复,我希望这是您一直在寻找的。 – bobsoap 2010-04-21 06:39:11