2013-10-22 2 views
0
public static function cantPaginas($asignatura, $codEstudiante) 
{   
    $query="SELECT * FROM nota WHERE Asignatura=".$asignatura." AND codEstudiante=".$codEstudiante; 
    $res=mysql_query($query); 
    $num_filas=mysql_num_rows($res); 
    if($num_filas>0) 
    { 
     $num_regs_x_p=16; 
     $paginas=ceil($num_filas/$num_regs_x_p); 
     for($x=0;$x<$paginas;$x++) 
     { 
      echo"<a href='?materia=".$asignatura."&page=".($x+1)."'>".($x+1)."</a>"; 
      return 1; 
     } 
    } 
    else 
    {return 0;} 
} 

이것은 기본적으로 내 쿼리입니다. 두 쌍의 따옴표가 누락되었음을 알고 있지만 쿼리를 출력 할 때 아무 것도 표시하지 않습니다. 그러나 따옴표를 제거하면 나는 그것을 볼 수 있습니다.MySql 쿼리가 PHP에서 작동하지 않습니다

불행히도 이러한 인용 부호가 없으면 쿼리가 작동하지 않지만 변수를 넣으면 변수가 비어 있거나 도청되었거나 실제로 알 수 없다는 것을 알고 있습니다.

PHP에서 오류 테이블을 표시하지 않습니다 ... 그냥 프로세스가 올바르게 실행되지 않습니다.

+1

커플 : 무엇 $의 num_filas''의 값이며, 그것을> 0? '$ res'의 값은 무엇입니까,'false'입니까, 아니면 자원입니까? 참고로 mysql_error를 통해 오류를 얻을 수 있습니다. 또한 SQL 주입에 대해서도 잊지 마십시오. – zamnuts

+1

주의 사항 1) mysql 확장은 더 이상 사용되지 않으므로 대신 PDO 또는 mysqli를 사용해야합니다. 2) 'cantPaginas' 함수에 변수를 전달하기 전에 어떤 종류의 이스케이프를하지 않는 한, 코드는 SQL 인젝션에 개방되어 있습니다. – Oldskool

답변

3
$query="SELECT * FROM nota WHERE Asignatura='".$asignatura."' AND codEstudiante='".$codEstudiante."'"; 
0

당신은 사용할 필요가 : 질문의

$query="SELECT * FROM nota WHERE Asignatura='$asignatura' AND codEstudiante='$codEstudiante'"; 
관련 문제