Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/08/2010, 10:24
alvarols
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 16 años, 2 meses
Puntos: 15
Error con funciones

Bueno, todo empezó cuando en un tutorial que estoy haciendo. MySQL me tiró este error:

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;
    }

La cuestión es que si bien en la página edit_subject.php (que es la que me tira el error) hago un include a la página functions.php que es donde tengo las funciones, en ningún momento que yo sepa, estoy llamando a esa función. Entonces la duda aquí es, ¿por qué me tira ese error?.

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']) == ) {
        
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
                    &nbsp
                    <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");?>