Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.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_Function_Echo - Fatal编程技术网

Php 获取要回显的函数结果时出现问题

Php 获取要回显的函数结果时出现问题,php,function,echo,Php,Function,Echo,我刚开始学习更多关于函数的知识,目前只停留在函数的一部分。我试图得到我在返回中设置的函数的结果,以便在特定位置用html填充 有人知道我做错了什么吗 以下是错误消息: PHP致命错误:未捕获ArgumentCounter错误:参数太少,无法 函数profilePic(),第76行的/adminNav.php中传递了0,并且 在/adminNav.php:6堆栈跟踪中正好需要1个堆栈跟踪: 0/adminNav.php(76):profilePic() 1/admin/projectgallery

我刚开始学习更多关于函数的知识,目前只停留在函数的一部分。我试图得到我在返回中设置的函数的结果,以便在特定位置用html填充

有人知道我做错了什么吗

以下是错误消息:

PHP致命错误:未捕获ArgumentCounter错误:参数太少,无法 函数profilePic(),第76行的/adminNav.php中传递了0,并且 在/adminNav.php:6堆栈跟踪中正好需要1个堆栈跟踪:

0/adminNav.php(76):profilePic() 1/admin/projectgallery.php(93):include('pub…')) 第6行的/adminNav.php中抛出了2{main} 完整代码:

function profilePic($con) {
    try {
        //Profile pic in main
        $sqlProfileImg = "
            SELECT *
            FROM profile_img
            WHERE user_id = ?
            ORDER BY id DESC
            LIMIT 1
            ";
        if ($stmtProfileImg = $con->prepare($sqlProfileImg)) {
            $stmtProfileImg->execute(array($user_id));
            
            $default_profile_img = NULL;
            $userProfilePic = NULL;
            $profilePic = NULL;
            $profilePicRows = $stmtProfileImg->fetchAll(PDO::FETCH_ASSOC);
            foreach ($profilePicRows as $profilePicRow) {
                $profilePic = $profilePicRow['img'];
                $profilePic = (!empty($profilePic) && $profilePic != 0)? $profilePic : "profile_images/default.jpg"; ?>" alt="<?php echo (!empty($profilePic) && $profilePic != 0)? "Profile Picture" : "No Picture";
            }
        }
    } catch (PDOException $e) {
        echo "Connection failed: " . $e->getMessage();
        $date = new DateTime();
        file_put_contents('error_log_profile_pic', "\n[{$date->format('Y-m-d H:i:s')}]" . "Error adding attachment: \n" . print_r($e, 1), FILE_APPEND);
        return false;
    }
    return $profilePic;
}
函数配置文件pic($con){
试一试{
//主要是个人资料图片
$sqlProfileImg=”
挑选*
来自profile\u img
其中user_id=?
按id描述订购
限制1
";
if($stmtProfileImg=$con->prepare($sqlProfileImg)){
$stmtProfileImg->execute(数组($user_id));
$default\u profile\u img=NULL;
$userProfilePic=NULL;
$profilePic=NULL;
$profilePicRows=$stmtProfileImg->fetchAll(PDO::FETCH_ASSOC);
foreach($profilePicRow作为$profilePicRow){
$profilePic=$profilePicRow['img'];

$profilePic=(!empty($profilePic)&&$profilePic!=0)?$profilePic:“profile\u images/default.jpg”?>“alt=”您需要向该函数传递一个参数

比如说像这样,

<img id="navUserProfilePic" src="<?php echo profilePic($con); ?>">
                                       ^^^^            ^^^^
“>
^^^^            ^^^^

另一个问题是作用域。函数不知道名为
$user\u id

的变量。您需要向该函数传递一个参数

比如说像这样,

<img id="navUserProfilePic" src="<?php echo profilePic($con); ?>">
                                       ^^^^            ^^^^
“>
^^^^            ^^^^
您的另一个问题是作用域。函数know与您正在调用的名为
$user\u id

的变量无关

<?php profilePic(); ?>

你在期待什么

<?php profilePic($con); ?>

这是第一个问题 为什么要这样发送连接,应该将DB类分开

阿尔索 如果它起作用,您就不会回显您正在呼叫的应答

<?php profilePic(); ?>

你在期待什么

<?php profilePic($con); ?>

这是第一个问题 为什么要这样发送连接,应该将DB类分开

阿尔索
如果它有效,您将不会回显您的响应

谢谢。这解决了错误,但不幸的是没有输出任何内容。您检查了页面来源吗?没有输出或没有可以理解的HTML。这个问题是因为他没有回显任何他应该编写的HTML内容,但这并不是HTML的大问题code@ahmedgalal是的,朱st发现了这一点并更正了代码。谢谢你的轻推
谢谢。这解决了错误,但不幸的是没有输出任何内容。你检查了页面源代码吗?没有输出或没有可以理解的HTML。这个问题是因为他没有回显任何他应该编写的HTML内容,但这并不是co的大问题de@ahmedgalal是的,刚刚发现并更正了代码。谢谢你的提示“你应该分开你的DB类”是什么意思?您正在从HTML发送连接检查此链接谢谢。我将更深入地检查它。我相信我正在使用的框架已经达到了一定程度。我只是没有在用户类中添加任何新的公共函数。您应该先研究没有任何框架的设计,以深入了解所有内容,然后开始学习framework laravel、symphony或任何你正在使用的东西“你应该分开你的DB类”是什么意思?您正在从HTML发送连接检查此链接谢谢。我将更深入地检查它。我相信我正在使用的框架已经达到了一定程度。我只是没有在用户类中添加任何新的公共函数。您应该先研究没有任何框架的设计,以深入了解所有内容,然后开始学习framework laravel、symphony或您正在使用的任何东西