0

I've try to read data from my database but I don't know what it don't work and show me that error

Notice: Array to string conversion in C:\Users\VladxD\Desktop\Xampp\htdocs\Web(workspace)\Test\show_animation.php on line 65

Here is my code:

MySQL_connect:

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpassword = '';
$conn = mysqli_connect($dbhost, $dbuser, $dbpassword, "portofoliu_database") or die ("<div id='err'>Could not connect:</div> ");

Code:

<?php session_start(); ?>
<!doctype html>
<html>

<head>
    <meta charset="UTF-8">
    <title>Directory Contents</title>
    <link rel="stylesheet" href="show_folder.css">
    <link rel="stylesheet" href="NewFile.css">
</head>
<body>
<div id=wapper>
    <?php include 'Menu.php';
    include 'MySQL_connect.php'; ?>

    <div class="box">
        <div id="container">

            <table class="sortable">
                <thead>
                <tr>
                    <th>File name</th>
                    <th>Uplaod time</th>
                </tr>
                </thead>
                <tbody>
                <?php
                // Opens directory
                $user = @$_SESSION ['account'];
                $dir = @$_SESSION ['account'] . '/image/';
                if (is_dir($dir) == true) {
                    $myDirectory = opendir($dir);
                    // Gets each entry
                    while ($entryName = readdir($myDirectory)) {
                        $dirArray [] = $entryName;
                    }
                    // Closes directory
                    closedir($myDirectory);
                    // Counts elements in array
                    $indexCount = count($dirArray);
                    // Sorts files
                    sort($dirArray);
                    // Loops through the array of files
                    for ($index = 0; $index < $indexCount; $index++) {
                        // Allows ./?hidden to show hidden files
                        if ($_SERVER ['QUERY_STRING'] == "hidden") {
                            $hide = "";
                        } else {
                            $hide = ".";
                        }
//-------------------------------------------------------------------------------------------------
                        //$modtime=date("M j Y g:i A", filemtime($dir.$dirArray[$index]));
                        $modtime_test = mysqli_query($conn, "SELECT file_upload_time FROM users WHERE file_name ='$dirArray[$index]'");
                        $modtime = mysqli_fetch_assoc($modtime_test);
                        $timekey = date("YmdHis", filemtime($dir . $dirArray[$index]));
//-------------------------------------------------------------------------------------------------
                        if (substr($dirArray [$index], 0, 1) != $hide) {
                            // Gets File Names
                            $name = $dirArray [$index];
                            // Print 'em
                            echo "
                                 <tr class='file'>
                                     <td><a href=#' onclick='showImage(\"$index\")'>$name</a></td>
                                     <td sorttable_customkey='$timekey'><a href='#'>$modtime</a></td>
                                 </tr>";

                        }
                    }
                }
                ?>
                </tbody>
            </table>
        </div>
        <div id="imageHolder">

            <?php if (is_dir($dir) == false)
                echo("<div id = 'noFile'>Your folder it's empty, upload file</div>");
            ?>

            <script>
                var array = [
                    <?php
                        foreach ($dirArray as $item)
                           {
                            echo "\"$dir{$item}\",";
                        }
                    ?>
                ];
                function showImage(index) {
                    var url = array[index];
                    url = "<img src='" + url + "'>";
                    document.getElementById("imageHolder").innerHTML = url;
                }

            </script>
        </div>
    </div>

</div>
</body>
</html>

I want to get my data time from my database and show it on my folder

Here is my element from database: https://i.stack.imgur.com/z0mVE.png

and here are my site: https://i.stack.imgur.com/CLeEM.jpg If you see below "Upload time" I have this text "Array" but I want to get me data time from my database and put there.

NikiC
  • 100,734
  • 37
  • 191
  • 225
Dumitru Vlad
  • 109
  • 1
  • 2
  • 13
  • That looks like a PHP notice/warning, not a database error. (Or, perhaps fixing the PHP warning will fix your db query. – jpaugh Apr 16 '15 at 21:29
  • Also looks like you're trying to to echo out an array somewhere, possible in line 65. – Patrick Apr 16 '15 at 21:30

2 Answers2

0

As mysqli_fetch_assoc returns an array, not a single value, even if there is a single field being returned... try changing

$modtime = mysqli_fetch_assoc($modtime_test);

to

$results = mysqli_fetch_assoc($modtime_test);
$modtime = $results["file_upload_time"];
dbinns66
  • 790
  • 6
  • 7
0

You have a PHP notice, "PHP array to string conversion".

  <tr class='file'>
    <td><a href=#' onclick='showImage(\"$index\")'>$name</a></td>
    <td sorttable_customkey='$timekey'><a href='#'>$modtime</a></td>
  </tr>";

In that code $modtime is array. You need to use $modtime['file_upload_time'].

halfer
  • 19,824
  • 17
  • 99
  • 186