Database query failed
content.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?php require_once("includes/functions.php"); ?>
<?php require_once("includes/header.php"); ?>
<?php
if(isset($_GET['subj'])) {
$sel_subj = $_GET['subj'];
$sel_page = "";
} elseif(isset($_GET['page'])) {
$sel_subj = "";
$sel_page = $_GET['page'];
} else {
$sel_subj = "";
$sel_page = "";
}
$sel_subject = get_subject_by_id($sel_subj);
?>
<?php include("includes/connection.php"); ?>
<table id="structure">
<tr>
<td id="navigation">
<ul class="subjects">
<?php
$subject_set = get_all_subjects();
while($subject = mysql_fetch_array($subject_set)) {
echo "<li";
if ($subject["id"] == $sel_subj) { echo " class=\"selected\""; }
echo "><a href=\"content.php?subj=" . urlencode($subject["id"]) .
"\">{$subject["menu_name"]}</a></li>";
$page_set = get_pages_for_subject($subject["id"]);
echo "<ul class=\"pages\">";
while($page = mysql_fetch_array($page_set)) {
echo "<li";
if ($page["id"] == $sel_page) { echo " class=\"selected\""; }
echo "><a href=\"content.php?page=" .
urlencode($page["id"]) . "\">{$page["menu_name"]}</a></li>";
}
echo "</ul>";
}
?>
</ul>
</td>
<td id="page">
<h2><?php echo $sel_subject['menu_name']; ?></h2>
<br />
<?php echo $sel_page; ?><br />
</td>
</tr>
</table>
<?php include("includes/footer.php"); ?>
[/CODE]
[b]functions.php[/b]
<?php
function confirm_query($result_set) {
if(!$result_set) {
die("Database query failed: " .mysql_error());
}
}
function get_all_subjects() {
global $connection;
$query = "SELECT *
FROM subjects
ORDER BY position ASC";
$subject_set = mysql_query($query , $connection);
confirm_query($subject_set);
return $subject_set;
}
function get_pages_for_subject($subject_id) {
global $connection;
$query = "SELECT *
FROM pages
WHERE subject_id = {$subject_id}
ORDER BY position ASC";
$page_set = mysql_query($query, $connection);
confirm_query($page_set);
return $page_set;
}
function get_subject_by_id($subject_id) {
global $connection;
$query = "SELECT * ";
"FROM subject ";
"WHERE id=" . $subject_id ." ";
"LIMIT 1";
$result_set = mysql_query($query, $connection);
confirm_query($result_set);
if($subject = mysql_fetch_array($result_set)) {
return $subject;
} else {
return NULL;
}
}
?>
<?php require_once("includes/header.php"); ?>
<?php
if(isset($_GET['subj'])) {
$sel_subj = $_GET['subj'];
$sel_page = "";
} elseif(isset($_GET['page'])) {
$sel_subj = "";
$sel_page = $_GET['page'];
} else {
$sel_subj = "";
$sel_page = "";
}
$sel_subject = get_subject_by_id($sel_subj);
?>
<?php include("includes/connection.php"); ?>
<table id="structure">
<tr>
<td id="navigation">
<ul class="subjects">
<?php
$subject_set = get_all_subjects();
while($subject = mysql_fetch_array($subject_set)) {
echo "<li";
if ($subject["id"] == $sel_subj) { echo " class=\"selected\""; }
echo "><a href=\"content.php?subj=" . urlencode($subject["id"]) .
"\">{$subject["menu_name"]}</a></li>";
$page_set = get_pages_for_subject($subject["id"]);
echo "<ul class=\"pages\">";
while($page = mysql_fetch_array($page_set)) {
echo "<li";
if ($page["id"] == $sel_page) { echo " class=\"selected\""; }
echo "><a href=\"content.php?page=" .
urlencode($page["id"]) . "\">{$page["menu_name"]}</a></li>";
}
echo "</ul>";
}
?>
</ul>
</td>
<td id="page">
<h2><?php echo $sel_subject['menu_name']; ?></h2>
<br />
<?php echo $sel_page; ?><br />
</td>
</tr>
</table>
<?php include("includes/footer.php"); ?>
[/CODE]
[b]functions.php[/b]
<?php
function confirm_query($result_set) {
if(!$result_set) {
die("Database query failed: " .mysql_error());
}
}
function get_all_subjects() {
global $connection;
$query = "SELECT *
FROM subjects
ORDER BY position ASC";
$subject_set = mysql_query($query , $connection);
confirm_query($subject_set);
return $subject_set;
}
function get_pages_for_subject($subject_id) {
global $connection;
$query = "SELECT *
FROM pages
WHERE subject_id = {$subject_id}
ORDER BY position ASC";
$page_set = mysql_query($query, $connection);
confirm_query($page_set);
return $page_set;
}
function get_subject_by_id($subject_id) {
global $connection;
$query = "SELECT * ";
"FROM subject ";
"WHERE id=" . $subject_id ." ";
"LIMIT 1";
$result_set = mysql_query($query, $connection);
confirm_query($result_set);
if($subject = mysql_fetch_array($result_set)) {
return $subject;
} else {
return NULL;
}
}
?>
en in je 3de query sluit je telkens af het moet een doorlopend stuk zijn...
want nu pakt hij alleen: SELECT * en de rest niet...
Gewijzigd op 10/01/2012 12:50:21 door Marco PHPJunky
Marco PHPJunkie op 10/01/2012 12:45:22:
waarom staan { } er in je 2de query ?
en in je 3de query sluit je telkens af het moet een doorlopend stuk zijn...
en in je 3de query sluit je telkens af het moet een doorlopend stuk zijn...
kan je vars binnen een string mee zetten, een alternatief voor quotes
ot; Wat is je mysql_error() die je krijgt?
edit; de oplossingis wss al gegeven, je maakt je 3e query niet af omdat je hem steeds sluit ';'
Gewijzigd op 10/01/2012 12:52:09 door Jaron T
Waar maak je de connectie met de database?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
require("constants.php");
$connection = mysql_connect(DB_SERVER, DB_USER, DB_PASS);
if(!$connection) {
die("Database connection failed!" . mysql_error());
}
$db_select = mysql_select_db(DB_NAME, $connection);
if(!$db_select) {
die("Database connection failed!" . mysql_error());
}
?>
require("constants.php");
$connection = mysql_connect(DB_SERVER, DB_USER, DB_PASS);
if(!$connection) {
die("Database connection failed!" . mysql_error());
}
$db_select = mysql_select_db(DB_NAME, $connection);
if(!$db_select) {
die("Database connection failed!" . mysql_error());
}
?>
Ik krijg geen error er komt niets achter "Database query failed:"
Toevoeging op 10/01/2012 12:55:32:
Jaron T op 10/01/2012 12:50:17:
kan je vars binnen een string mee zetten, een alternatief voor quotes
ot; Wat is je mysql_error() die je krijgt?
edit; de oplossingis wss al gegeven, je maakt je 3e query niet af omdat je hem steeds sluit ';'
Marco PHPJunkie op 10/01/2012 12:45:22:
waarom staan { } er in je 2de query ?
en in je 3de query sluit je telkens af het moet een doorlopend stuk zijn...
en in je 3de query sluit je telkens af het moet een doorlopend stuk zijn...
kan je vars binnen een string mee zetten, een alternatief voor quotes
ot; Wat is je mysql_error() die je krijgt?
edit; de oplossingis wss al gegeven, je maakt je 3e query niet af omdat je hem steeds sluit ';'
Ik heb het aangepast en nog steeds hetzelfde probleem:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
function get_subject_by_id($subject_id) {
global $connection;
$query = "SELECT *
FROM subject
WHERE id=" . $subject_id . "
LIMIT 1";
$result_set = mysql_query($query, $connection);
confirm_query($result_set);
if($subject = mysql_fetch_array($result_set)) {
return $subject;
} else {
return NULL;
}
}
?>
function get_subject_by_id($subject_id) {
global $connection;
$query = "SELECT *
FROM subject
WHERE id=" . $subject_id . "
LIMIT 1";
$result_set = mysql_query($query, $connection);
confirm_query($result_set);
if($subject = mysql_fetch_array($result_set)) {
return $subject;
} else {
return NULL;
}
}
?>
Gewijzigd op 10/01/2012 12:56:09 door Jos Vermassen
In de eerste query gebruikt je "subjects" als tabel naam, in de derde "subject". Heb je inderdaad twee tabellen met die namen, of is een van de twee een tikfout?
Erwin H op 10/01/2012 13:45:17:
In de eerste query gebruikt je "subjects" als tabel naam, in de derde "subject". Heb je inderdaad twee tabellen met die namen, of is een van de twee een tikfout?
dit is een tikfout, maar nog steeds hetzelfde..
Marco PHPJunkie op 10/01/2012 12:45:22:
en in je 3de query sluit je telkens af het moet een doorlopend stuk zijn...
want nu pakt hij alleen: SELECT * en de rest niet...
want nu pakt hij alleen: SELECT * en de rest niet...
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$query = "SELECT * ";
"FROM subject ";
"WHERE id=" . $subject_id ." ";
"LIMIT 1";
echo $query;
?>
$query = "SELECT * ";
"FROM subject ";
"WHERE id=" . $subject_id ." ";
"LIMIT 1";
echo $query;
?>
Die echo zal dit geven: 'SELECT *'
- SanThe - op 10/01/2012 14:20:20:
Die echo zal dit geven: 'SELECT *'
Marco PHPJunkie op 10/01/2012 12:45:22:
en in je 3de query sluit je telkens af het moet een doorlopend stuk zijn...
want nu pakt hij alleen: SELECT * en de rest niet...
want nu pakt hij alleen: SELECT * en de rest niet...
Die echo zal dit geven: 'SELECT *'
dat heb ik al aangepast (zie post hier boven), dit is niet het probleem
Gewijzigd op 10/01/2012 15:34:30 door Jos Vermassen
dit kan je doen door ze even buiten de functie te testen ( in een echo gooien, testen in phpmyadmin zelf, rechtstreeks uitvoeren met de mysql_error() erachter)
pak desnoods even een nieuw bestand en probeer ze met alleen een database verbinding erin uit...
Marco PHPJunkie op 10/01/2012 16:10:16:
ga eens kijken bij welke query het precies fout gaat...
dit kan je doen door ze even buiten de functie te testen ( in een echo gooien, testen in phpmyadmin zelf, rechtstreeks uitvoeren met de mysql_error() erachter)
pak desnoods even een nieuw bestand en probeer ze met alleen een database verbinding erin uit...
dit kan je doen door ze even buiten de functie te testen ( in een echo gooien, testen in phpmyadmin zelf, rechtstreeks uitvoeren met de mysql_error() erachter)
pak desnoods even een nieuw bestand en probeer ze met alleen een database verbinding erin uit...
Ik heb het stap voor stap opgebouwd en het ging pas fout vanaf de derde query.
Hoe ziet die derde query er nu uit?
- SanThe - op 10/01/2012 18:11:26:
Hoe ziet die derde query er nu uit?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
function get_subject_by_id($subject_id) {
global $connection;
$query = "SELECT * ";
$query .= "FROM subjects ";
$query .= "WHERE id=" . $subject_id . " ";
$query .= "LIMIT 1";
$result_set = mysql_query($query, $connection);
confirm_query($result_set);
if($subject = mysql_fetch_array($result_set)) {
return $subject;
} else {
return NULL;
}
}
?>
function get_subject_by_id($subject_id) {
global $connection;
$query = "SELECT * ";
$query .= "FROM subjects ";
$query .= "WHERE id=" . $subject_id . " ";
$query .= "LIMIT 1";
$result_set = mysql_query($query, $connection);
confirm_query($result_set);
if($subject = mysql_fetch_array($result_set)) {
return $subject;
} else {
return NULL;
}
}
?>
Gewijzigd op 10/01/2012 18:15:51 door Jos Vermassen
Welke error krijg je nu?
- SanThe - op 10/01/2012 18:27:41:
Welke error krijg je nu?
"Database query failed:", hij geeft geen mysql_error weer
$result_set = mysql_query($query, $connection) or die(mysql_error());
Gewijzigd op 10/01/2012 20:12:04 door - SanThe -
- SanThe - op 10/01/2012 18:34:40:
FF grof testen:
$result_set = mysql_query($query, $connection) or die(mysql-error());
$result_set = mysql_query($query, $connection) or die(mysql-error());
nu geeft ie helemaal niets terug
Code (php)
1
2
3
4
2
3
4
<?php
$result_set = mysql_query($query, $connection) or die(mysql_error());
echo $result_set;
?>
$result_set = mysql_query($query, $connection) or die(mysql_error());
echo $result_set;
?>
ps. even aangepast want het is; mysql_error() geen mysql-error()...
denk even een typefoutje...
Marco PHPJunkie op 10/01/2012 19:35:24:
En je doet wel:
ps. even aangepast want het is; mysql_error() geen mysql-error()...
denk even een typefoutje...
Code (php)
1
2
3
4
2
3
4
<?php
$result_set = mysql_query($query, $connection) or die(mysql_error());
echo $result_set;
?>
$result_set = mysql_query($query, $connection) or die(mysql_error());
echo $result_set;
?>
ps. even aangepast want het is; mysql_error() geen mysql-error()...
denk even een typefoutje...
Ja had ik al gezien, maar zo krijg ik helemaal geen error.
Toevoeging op 10/01/2012 19:41:30:
probleem opgelost (eindelijk), ik moest deze lijn naar lijn 3 verplaatsen in "content.php".
Marco PHPJunkie op 10/01/2012 19:35:24:
ps. even aangepast want het is; mysql_error() geen mysql-error()...
denk even een typefoutje...
denk even een typefoutje...
Oeps, inderdaad: Typo. Aangepast.
Bedankt voor jullie hulp! :)