首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >致命错误:调用未定义函数

致命错误:调用未定义函数
EN

Stack Overflow用户
提问于 2016-06-24 05:24:09
回答 3查看 1.2K关注 0票数 0

我看不出这个程序有任何错误,任何人都可以解释这一点!

代码语言:javascript
复制
<?php

           if(isset($_POST['submit'])){
               if(isset($_FILES['image_up']['tmp_name']))$image = $_FILES['image_up']['tmp_name'];
               if(isset($_FILES['image_up']['name']))$imageName = $_FILES['image_up']['name'];

               $image = addslashes($image);
               $imageName = addslashes($imageName);
               $image = file_get_contents($image);
               $image = base64_encode($image);
               $upload=uploadimage($image, $imageName);



                    function uploadimage($image,$imageName){
                        //Connect to DB
                        $link = mysqli_connect('localhost','root','');
                        $selectdb = mysqli_select_db($connect2db, 'test_one');
                        if(!$selectdb)echo "Something Went wrong_DB try again later";

                        $query = "insert into upload_image(name,Image)values('$imageName','$image')";
                        $result = mysqli_query($link, $query);

                        if(!$result)    echo"Error Uploading";
                        else echo"Uploaded Successfully";


                    }
                    displayImage();

           }
           else echo"Select a File to Upload";

                    function displayImage(){
                        $link = mysqli_connect('localhost','root','');
                        $selectdb = mysqli_select_db($connect2db, 'test_one');
                        if(!$selectdb)echo "Something Went wrong_DB try again later";

                        $query = "selct * from upload_image";
                        $result = mysqli_query($link, $query);
                        $row = mysqli_fetch_array($result);

                        echo '<img width="300" height="300" src=data:Image;base64,'.$row[3].'>';
                    }

        ?>

我犯了一个致命的错误

未定义函数上载()

有人能解释一下吗??

这是我在数据库中创建的表的布局

图像Id名

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-06-24 05:27:27

将函数从if(isset($_POST['submit'])){语句移到外部。

代码语言:javascript
复制
 <?php

   if(isset($_POST['submit'])){
       if(isset($_FILES['image_up']['tmp_name']))$image = $_FILES['image_up']['tmp_name'];
       if(isset($_FILES['image_up']['name']))$imageName = $_FILES['image_up']['name'];

       $image = addslashes($image);
       $imageName = addslashes($imageName);
       $image = file_get_contents($image);
       $image = base64_encode($image);
       $upload=uploadimage($image, $imageName);




            displayImage();

   }
    echo "Select a File to Upload";

    function displayImage(){
        $link = mysqli_connect('localhost','root','');
        $selectdb = mysqli_select_db($connect2db, 'test_one');
        if(!$selectdb)echo "Something Went wrong_DB try again later";

        $query = "selct * from upload_image";
        $result = mysqli_query($link, $query);
        $row = mysqli_fetch_array($result);

        echo '<img width="300" height="300" src=data:Image;base64,'.$row[3].'>';
    }


    function uploadimage($image,$imageName){
        //Connect to DB
        $link = mysqli_connect('localhost','root','');
        $selectdb = mysqli_select_db($connect2db, 'test_one');
        if(!$selectdb)echo "Something Went wrong_DB try again later";

        $query = "insert into upload_image(name,Image)values('$imageName','$image')";
        $result = mysqli_query($link, $query);

        if(!$result)    
              echo"Error Uploading";
        else 
              echo "Uploaded Successfully";


    }


?>
票数 0
EN

Stack Overflow用户

发布于 2016-06-24 05:30:22

您需要在页面底部的任何其他条件之外定义所有函数。以下是修改后的代码:

代码语言:javascript
复制
<?php   

if (isset($_POST['submit'])) {
    if (isset($_FILES['image_up']['tmp_name']))
        $image = $_FILES['image_up']['tmp_name'];
    if (isset($_FILES['image_up']['name']))
        $imageName = $_FILES['image_up']['name'];

    $image = addslashes($image);
    $imageName = addslashes($imageName);
    $image = file_get_contents($image);
    $image = base64_encode($image);
    $upload = uploadimage($image, $imageName);    

    displayImage();
}
else
{
    echo "Select a File to Upload";
}

function uploadimage($image, $imageName) {
    //Connect to DB
    $link = mysqli_connect('localhost', 'root', '');
    $selectdb = mysqli_select_db($connect2db, 'test_one');
    if (!$selectdb)
        echo "Something Went wrong_DB try again later";

    $query = "insert into upload_image(name,Image)values('$imageName','$image')";
    $result = mysqli_query($link, $query);

    if (!$result)
        echo "Error Uploading";
    else
        echo "Uploaded Successfully";
}

function displayImage() {
    $link = mysqli_connect('localhost', 'root', '');
    $selectdb = mysqli_select_db($connect2db, 'test_one');
    if (!$selectdb)
        echo "Something Went wrong_DB try again later";

    $query = "selct * from upload_image";
    $result = mysqli_query($link, $query);
    $row = mysqli_fetch_array($result);

    echo '<img width="300" height="300" src=data:Image;base64,' . $row[3] . '>';
}
?>
票数 0
EN

Stack Overflow用户

发布于 2016-06-24 05:42:00

您正在绑定到在其声明之前调用上载函数。

代码语言:javascript
复制
   $upload=uploadimage($image, $imageName);
        function uploadimage($image,$imageName){

在任何php逻辑代码之前移动函数声明

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38006118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档