-2

I found this error whenever I query from the database.

Connected successfully0 resultsDatabase error: Query was empty Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\digicraft\index.php on line 20

There are 2 records in my table & when I want to fetch that it says that Query was empty.

$servername = "localhost";
$username = "admin";
$password = "";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";

//Query
$query = "SELECT * FROM pages WHERE id = 1";
$result = mysqli_query($dbc, $query);
if (! $result){
    echo ('Database error: ' .mysql_error());
}
while($row = mysql_fetch_assoc($result)){
    //handle rows.
    $title = $row['title'];
    $header = $row['header'];
    $body = $row['body'];

}

phpmyadmin screenshot:
phpmyadmin screenshot

browser error view:
browser error view

Dharman
  • 26,923
  • 21
  • 73
  • 125

3 Answers3

2

You have forget to select the database also you have some syntax error like mysql_fetch_assoc, it should be mysqli_fetch_assoc.Put below code and replace your database name it will be working fine.

$servername = "localhost";
$username = "admin";
$password = "";
$db = "demos";//Put your database name

// Create connection
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$conn = new mysqli($servername, $username, $password, $db);
$conn->set_charset('utf8mb4');


echo "Connected successfully";

$query = "SELECT * FROM pages WHERE id = 1";

$result = mysqli_query($conn, $query);

foreach($result as $row) {  
    echo '<br>';
    echo $title = $row['title'] . '<br>';
    echo $header = $row['header'] . '<br>';
    echo $body = $row['body'] . '<br>';
}
Dharman
  • 26,923
  • 21
  • 73
  • 125
0

Please add last parameter for select database like below.

$mysqli = mysqli_connect("example.com", "user", "password", "database");

and also use below function for fetch data

mysqli_fetch_assoc()

Please read from below link :

https://en.wikipedia.org/wiki/MySQLi

Please try below code.

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
define("DB_SERVER", "localhost");
define("DB_USER", "root");
define("DB_PASSWORD", "root");
define("DB_DATABASE", "atomcms");
$dbc = mysqli_connect(DB_SERVER , DB_USER, DB_PASSWORD, DB_DATABASE) OR die('Could not connect because: '.mysqli_connect_error());
$query = "SELECT * FROM pages";
$result = mysqli_query($dbc, $query);
if (! $result){ echo ('Database error: ' .mysqli_error()); }
while($row = mysqli_fetch_assoc($result)){
  //handle rows.
  $title = $row['title'];
  $header = $row['header'];
  $body = $row['body'];
}
JavidRathod
  • 485
  • 2
  • 10
0

First, mysqli_connect have 4 parameters(server name,username,password,database)

$conn = new mysqli_connect($servername, $username, $password, yourdatabasename);

and mysqli_query($dbc, $query);

use $result = mysqli_query($conn, $query); $conn is our connection variable.

I hope this is useful.