Resource id #5: MySQL
<?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>
Weiß jemand, warum das nicht funktioniert? Meine DB Struktur:
Seite |Titel
index.php|index
Sorry, aber ich kann nicht bekommen dies deutlich. Die var dump von $page['title'] = resource(5)
of type (mysql result). Wie kann ich dieses Problem beheben? Vielen Dank für die Hilfe.
InformationsquelleAutor Robin Van den Broeck | 2012-03-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
mysql_query
gibt eine Ressource zurück, die Sie verwenden müssenmysql_fetch_array
(oder ähnliche, z.B.mysql_fetch_assoc
) auf die Ressource, um die Titel Wert.Beispiel:
Achtung: deine query ist anfällig für SQL-injection.
mysql_fetch_array
fördert potentiell schlechte Praktiken. Es ist besser (und effizienter) zu verwendenmysql_fetch_assoc
, obwohl in diesem Fall, wo Sie nur brauchen, um 1 Feld von 1 Zeile, die ich benutzen würdemysql_result
.Es funktioniert jetzt! Vielen Dank an alle für die schnelle Antwort. (Ich habe mysql_result($result,0 hier. =))
InformationsquelleAutor pjumble
Müssen Sie eine Funktion verwenden, wie
mysql_fetch_assoc()
odermysql_result()
zu bekommen die eigentlichen Daten.InformationsquelleAutor AndrewR
Dies ist resourc id zurückgegeben
mysql_query
Verwendenmysql_fetch_assoc
auf die Ressource, um die Titel Wert.Tun unten änderungen :
InformationsquelleAutor
Dieser kommt in 4 Jahre zu spät aber mysql_* ist veraltet. Sie verwenden sollten, mysqli_* oder PDO-Funktionen anstelle
InformationsquelleAutor Cengkuru Michael