2011-05-16 56 views
0

好更换所以继承人我有什么,但每当我这样做,我与数据库的第一条记录返回:的Preg与MySQL

<?php 
    function getInfo($id,$slot){ 
     if(!$id){ return '<b>Error</b> Id Not Returned. Please contact [email protected] for more information.'; } 
     $mm = mysql_query("SELECT * FROM `users` WHERE `id`='".$id."'"); 
     $mma = mysql_fetch_assoc($mm); 
     $p = $mma[$slot]; 
     return $p; 
     //return $id; <- Debug (Returns ID given) 
    } 
$post = preg_replace("/\[CallName]([^]]+)\[\/CallName\]/", getInfo('\\1',"fullname"), $post); 
?> 

回答

0

我很惊讶你要什么返回...你的preg_replace模式应该给你一个错误(你不是逃避你的一些括号)。但无论如何,你不能像这样将一个捕获的组传递给你的函数。您必须使用“电子”模式修改(查看例#4中的preg_replace手动