<?php
//Sessions starten
session_start();
//Include stuff
include('conf.php');
//'Shortcuts' maken
$sname = $site['name'];
$shost = $site['host'];
$shostb = $site['hostb'];
//Verbinding maken met DB
$link = mysql_connect($database['host'], $database['username'], $database['password']) or die (mysql_error());
mysql_select_db($database['db'],$link) or die(mysql_error());
//Gegevens uit db halen
if(isset($_GET['page'])){
$page['title'] = mysql_query("SELECT title FROM pages WHERE page = $_GET[page]");
}
else{
$page['title'] = mysql_query("SELECT title FROM pages WHERE page = 'index.php'");
}
?>
<!doctype html>
<html lang="nl">
<head>
<meta charset="utf-8" />
<title><?php echo $sname;?>•<?php echo $page['title']?></title>
Does somebody know why this doesn't work? My DB structure is:
page |title
index.php|index
Sorry but I can't get this clear. The var dump of $page['title'] = resource(5)
of type (mysql result). How can I fix this? Thanks for the help.
mysql_query
returns a resource, you need to use mysql_fetch_array
(or similar, e.g. mysql_fetch_assoc
) on the resource to get the title value.
For example:
$res = mysql_query("SELECT title FROM pages WHERE page = 'index.php'");
$page = mysql_fetch_assoc($res);
// $page['title'] now contains the value (assuming there's an index.php page in the DB).
Warning: your query is vulnerable to SQL injection.
This is resourc id returned by mysql_query
Use mysql_fetch_assoc
on the resource to get the title value.
Do below changes :
if(isset($_GET['page'])){
$result = mysql_query("SELECT title FROM pages WHERE page = $_GET[page]");
}
else{
$result = mysql_query("SELECT title FROM pages WHERE page = 'index.php'");
}
$row= mysql_fetch_assoc($result);
$page['title'] =$row['title'];
You need to use a function like mysql_fetch_assoc()
or mysql_result()
to get the actual data.
if(isset($_GET['page'])){
$result = mysql_query("SELECT title FROM pages WHERE page = '" . mysql_real_escape_string($_GET[page]) . "'");
$page['title'] = mysql_result($result, 0, 'title');
}
else{
$result = mysql_query("SELECT title FROM pages WHERE page = 'index.php'");
$page['title'] = mysql_result($result, 0, 'title');
}
This comes in 4 years late but mysql_* is deprecated. You should use mysqli_* or PDO functions instead