Foutmelding database query failed:

Status
Niet open voor verdere reacties.

stevebravo

Gebruiker
Lid geworden
16 jan 2010
Berichten
156
Database query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 Actual query:


dat is de foutmelding die ik krijg, hoe komt dat?
 
Je hebt waarschijnlijk ergens een haakje geopend en niet afgesloten.

Wat is de volledige query die je uit wil voeren?
 
PHP:
<?php require_once("includes/connection.php"); ?>
<?php require_once("includes/functions.php"); ?>
<?php include("includes/header.php"); ?>
<table id="structure">
	<tr>
		<td id="navigation">
			<ul class="subjects">
	<?php
	$subject_set = mysql_query("SELECT * FROM subjects", $connection);
	if (!$subject_set) {
		die("Database query failed: " . mysql_error());
	}
	
	while ($subjects = mysql_fetch_array($subject_set)) {
		echo "<li>{$subject["menu_name"]}</li>";
		
		$page_set = mysql_query("SELECT * FROM pages WHERE subject_id = {$subject["id"]}", $connection);
		if (!$page_set) {
			die("Database query failed: " . mysql_error());
		}
		
	echo "<ul class=\"pages\">";
	while ($page = mysql_fetch_array($page_set)) {
		echo "<li>{$page["menu_name"]}</li>";
		}
		echo "</ul>";
	}	
	?>
		</ul>
		</td>
		<td id="page">
			<h2>Content Area</h2>
			
		</td>
	</tr>
</table>

<?php include("includes/footer.php"); ?>
<?php
	mysql_close($connection);

?>
 
Je maakt een while loop op basis van $subjects, maar bij het maken van de query gebruik je $subject (zonder s).
 
weer een nieuwe fout: Database query failed:

Database query failed: hoe kan dat?

functions.php:

PHP:
<?php
// this file is to store all basic functions
	function confirm_query($result_set) {
		if (!$subject_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;
	}
	
?>

content.php

PHP:
<?php require_once("includes/connection.php"); ?>
<?php require_once("includes/functions.php"); ?>
<?php include("includes/header.php"); ?>
<table id="structure">
	<tr>
		<td id="navigation">
			<ul class="subjects">
	<?php
	//3. Perform databse query
		$subject_set = get_all_subjects();
	
	//4. Use returned data
	
	while ($subject = mysql_fetch_array($subject_set)) {
		echo "<li>{$subject["menu_name"]}</li>";
		$page_set = get_pages_for_subject($subject["id"]);
		//4. Use returned data
	echo "<ul class=\"pages\">";
	while ($page = mysql_fetch_array($page_set)) {
		echo "<li>{$page["menu_name"]}</li>";
		}
		echo "</ul>";
	}	
	?>
		</ul>
		</td>
		<td id="page">
			<h2>Content Area</h2>
			
		</td>
	</tr>
</table>
<?php include("includes/footer.php"); ?>
<?php

	//5. close connection
	mysql_close($connection);

?>
 
echo de queries eens om te zien wat er fout gaat, wellicht worden de { } tekens niet geparsed? {$subject_id} --> ".$subject_id." (of zelfs alleen maar $subject_id aangezien je dubbele quotes gebruikt)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan