Database query failedYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 1' at line 1
El error parece venir de una de estas dos funciones que no está recibiendo la variable $subject_id:
Código 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);
// REMEMBER
// if no rows are returned, fetch array return false.
if ($subject = mysql_fetch_array($result_set)) {
return $subject;
} else {
return NULL;
}
}
function get_page_by_id($subject_id) {
global $connection;
$query = "SELECT * ";
$query.= "FROM PAGES ";
$query.= "WHERE ID = " . $subject_id . " ";
$query.="LIMIT 1 ";
$result_set = mysql_query($query, $connection);
confirm_query($result_set);
// REMEMBER
// if no rows are returned, fetch array return false.
if ($subject = mysql_fetch_array($result_set)) {
return $subject;
} else {
return NULL;
}
}
Aquí muestro el contenido de edit_subject.php
Código PHP:
<?php require_once ("includes/connection.php");?>
<?php require_once ("includes/functions.php");?>
<?php
find_selected_page();
?>
<?php
if (intval($_GET['subj']) == 0 ) {
redirect_to("content.php");
}
if (isset($_POST['submit'])) {
$errors = array();
$required_fields = array('menu_name', 'position', 'visible');
foreach($required_fields as $fieldname) {
if (!isset($_POST[$fieldname]) || (empty($_POST[$fieldname]) && ($_POST[$fieldname]) !=0)) {
$errors[] = $fieldname;
}
}
$fields_with_lenghts = array('menu_name' => 30);
foreach($fields_with_lenghts as $fieldname => $maxlength) {
if (strlen(trim(mysql_prep($_POST[$fieldname]))) > $maxlength) {
$errors[] = $fieldname;
}
}
if (empty($errors)) {
//perform update
$id = mysql_prep($_GET['subj']);
$menu_name = mysql_prep($_POST['menu_name']);
$position = mysql_prep($_POST['position']);
$visible = mysql_prep($_POST['visible']);
$query = "UPDATE subjects SET
menu_name = '$menu_name',
position = $position,
visible = $visible
WHERE id = $id";
$result = mysql_query($query, $connection);
if (mysql_affected_rows() == 1) {
//Success
} else {
//failed
}
} else {
//errors occurred
}
} // end if (isset($_POST['submit']))
?>
<?php include ("includes/header.php");?>
<table id="structure">
<tr>
<td id="navigation">
<?php echo navigation($sel_subject, $sel_page);?>
</td>
<td id="page">
<h2>Edit Subject <?php echo $sel_subject['menu_name'];?></h2>
<form action="edit_subject.php?subj=<?php urlencode($sel_subject['id']); ?>" method="post">
<p>Subject Name:
<input type="text" name="menu_name" value="<?php echo $sel_subject['menu_name'];?>" id="menu_name" />
</p>
<p>Position:
<select name="position">
<?php
//subject_count +1 because we're adding a subject
$subject_set = get_all_subjects();
$subject_count = mysql_num_rows($subject_set);
for ($count=1; $count <= $subject_count+1; $count++){
echo "<option value=\"{$count}\"";
if ($sel_subject['position'] == $count) {
echo "selected";
}
echo ">{$count}</option>";
}
?>
</select>
</p>
<p>Visible:
<input type="radio" name="visible" value="0"<?php
if ($sel_subject['visible'] == 0) {echo "checked";}?> /> No
 
<input type="radio" name="visible" value="1"<?php
if ($sel_subject['visible'] == 1) {echo "checked";}?> /> Yes
</p>
<input type="submit" name="submit" value="Edit Subject" />
</form>
<br />
<a href="content.php">Cancel</a>
</td>
</tr>
</table>
</div>
<?php require ("includes/footer.php");?>