Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用函数返回?_Php - Fatal编程技术网

Php 如何使用函数返回?

Php 如何使用函数返回?,php,Php,我在content.php中有一个while循环,我想使用$result作为参数。如何从content.php文件调用函数,并在while循环中使用$result while ($row = mysql_fetch_array($result)) { $ename = stripslashes($row['name']); $eemail = stripslashes($row[

我在content.php中有一个while循环,我想使用$result作为参数。如何从content.php文件调用函数,并在while循环中使用$result

  while ($row = mysql_fetch_array($result)) 
                {
                    $ename = stripslashes($row['name']);
                    $eemail = stripslashes($row['email']);
                    $ebox = stripslashes($row['lund']);
                    $ecategori = stripslashes($row['LundaBlogg']);
                    $epost = stripslashes($row['post']);
                    $grav_url = "http://www.gravatar.com/avatar.php?gravatar_id=".md5(strtolower($eemail))."&size=70";

                    echo
                    (
                        '<li> 
                            <div class="datum">'.$row['date'].'</div>
                            <div class="meta"><img src="'.$grav_url.'" alt="Gravatar" /><p>'.$ename.'</p></div>
                            </br>
                            <div class="categori"><p>Kategori: '.$ecategori.'</p></div>
                            <div class="topic"><p>'.$ebox.'</p></div>   
                            <div class="shout"><p>'.$epost.'</p></div>
                            <div class="raderaknapp"><a href="../delete_ac.php?id=' . $row['id'] . '"class=\"icon-2 info-tooltip\">Radera Inlägg</a></div>
                            <div class="raportpost"><p><a href="mailto:someone@example.com?Subject=Hello%20again">Rapportera inlägg</a></p></div>
                        </li>'
                    );

                    ?>
                        <h4>
                        <form action="<?php echo $self?>" method="POST">
                            <input type="hidden" name="id" value="<?php echo $row['id']?>"/>
                            <input type = "submit" name="Gilla" value = 'Gilla'"/>
                        </form>
                        </h4>

                        <div id="radera-infotwo">
                            <span onmouseover="ShowText('Messagetwo'); return true;" onmouseout="HideText('Messagetwo'); return true;" href="javascript:ShowText('Messagetwo')">
                                <img src="http://www.wallpaperama.com/forums/post-images/20081107_6718_question-mark.gif">
                            </span>
                        </div>  

                        <div id="radera-info">
                            <span onmouseover="ShowText('Message'); return true;" onmouseout="HideText('Message'); return true;" href="javascript:ShowText('Message')">
                                <img src="http://www.wallpaperama.com/forums/post-images/20081107_6718_question-mark.gif">
                            </span>
                        </div>

                        <?
                        ?>
                    <?

                    echo ("Antal Gilla: " .$row['likes']); 

                    if(isset($_POST['Gilla']) && $_POST['id'] == $row['id']){echo '<h5><img src="../images/tummen-upp.png"/>Du har Gillat detta inlägg.</h5>';}

                    echo "<hr>";  
                }   
while($row=mysql\u fetch\u array($result))
{
$ename=stripslashes($row['name']);
$eemail=stripslashes($row['email']);
$ebox=stripslashes($row['lund']);
$ecategori=stripslashes($row['LundaBlogg']);
$epost=stripslashes($row['post']);
$grav_url=”http://www.gravatar.com/avatar.php?gravatar_id=“.md5(strtolower($eemail))”&size=70”;
回声
(
“
  • “.$row['date']” “.$ename。”


    Kategori:“.$ecategori”

    “.$ebox.”

    “.$epost。”

  • ' ); ?>
    首先,简单的方法是修改函数以获得结果,并构建一个数组对象供您使用,而不是返回一个MySQL查询对象

    function blogPosts_get(){
        $query = "SELECT * FROM shouts ORDER BY `id` DESC LIMIT 8;";
        $result = mysql_query($query);
        if(!$result)
            return array();
        else{
            while($row = mysql_fetch_array($result))
                $posts[] = $row;
           return $posts;
       }  
    }
    
    这将处理获取帖子,并始终返回一个数组对象供您使用

    接下来,您必须确保将函数包含在
    require
    require\u once

    $posts = blogPosts_get();
    
    然后使用

    foreach ($posts as $post){
    

    注意:MySQL_*从PHP 5.5开始就被弃用。请先使用MySQLi_*或PDO。

    首先将functions.PHP包含在content.PHP中。PHP使用
    require_once(./'your path'/functions.PHP');
    将其放在文件content.PHP的开头,然后在functions.PHP中修改代码,如下所示:

    function blogPosts_get(){ 
      $query = "SELECT * FROM shouts ORDER BY `id` DESC LIMIT 8;";
      $result = mysql_query($query) or die('<p class="error">Wrong.</p>');  
    return $result; 
    }
    

    return$result;
    有什么问题?@Barmar当我使用result时,我得到了这个错误警告:mysql\u fetch\u array()希望参数1是resource,第70行的/Applications/MAMP/web/blogg/pages/content.php中给出的空值。你在主代码中做了
    $result=blogPosts\u get();
    ;在我的content.php文件中,我得到了与以前相同的错误,因此该错误不应该发生。
    blogPosts_get()
    如果返回
    result$result;
    ,则永远不能返回
    null
    ,因为它将调用
    die()
    在这种情况下。您已经删除了他的错误报告!他可以检查数组的大小或根据自己的喜好进行修改。空结果与来自
    mysql\u query()的错误不同
    return array('error'=>mysql\u error());
    将通过检查
    isset('error'])来实现这一点
    @UnholyRanger谢谢你的通知信息,我会查看的that@Bruno查韦斯,不客气,很乐意帮忙
    function blogPosts_get(){ 
      $query = "SELECT * FROM shouts ORDER BY `id` DESC LIMIT 8;";
      $result = mysql_query($query) or die('<p class="error">Wrong.</p>');  
    return $result; 
    }
    
    $result = blogPosts_get();