Как вызвать функцию запроса выборки на другой странице (PHP) - PullRequest
0 голосов
/ 03 июня 2018

Я написал следующий код, данные не извлекаются. Может кто-нибудь, пожалуйста, помогите мне. В основном я занимаюсь процедурным программированием, поэтому у меня не так много знаний в упс.

1.xyzconfig.php

define("HOST", "localhost");            
define("USER", "root");             
define("PASSWORD", "");     
define("DATABASE", "end");           

2.dbconnect.php

include_once 'xyzconfig.php';   

$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);

if($mysqli->connect_error) 

{

header("Location: ../error.php?err=Unable to connect to MySQL");

exit();

}

3.function.php

include_once 'xyzconfig.php';   

 function user_fetch($mysqli)

{

    if($stmt=$mysqli->prepare("SELECT id, username,email,role FROM members"))
    {
        $stmt->execute();   

        $stmt->store_result();

         if($stmt->num_rows == 1)

         {

          while($row=$stmt->fetch_assoc() )
          {

            echo "<tr><td>".$row["id"]."</td><td>".$row["username"]." ".$row["email"]." ".$row['role']."</td></tr>";

          }

        }    
    }}

4.test.php

include_once 'includes/db_connect.php';

include_once 'includes/functions.php';

echo user_fetch($mysqli);

1 Ответ

0 голосов
/ 03 июня 2018

functions.php должен включать dbconnect.php, а не xyzconfig.php

include_once 'dbconnect.php';   

 function user_fetch($mysqli)

{

    if($stmt=$mysqli->prepare("SELECT id, username,email,role FROM members"))
    {
        $stmt->execute();   

        $stmt->store_result();

         if($stmt->num_rows >= 1)

         {

          while($row=$stmt->fetch_assoc() )
          {

            echo "<tr><td>".$row["id"]."</td><td>".$row["username"]." ".$row["email"]." ".$row['role']."</td></tr>";

          }

        }    
    }}

test.php должен быть:

include_once 'includes/dbconnect.php';

include_once 'includes/functions.php';

echo user_fetch($mysqli);

нет абсолютно никакого смысла использовать ни store_result()

...