php
  • mysql
  • fetch
  • 2014-11-12 2 views -3 likes 
    -3

    나는 다음과 같은 코드를 가지고 : 나는 MySQL의 워크 벤치에서 쿼리 (UN $ q를 저장되는 동일)를 시도하고 perfecty 잘 작동하지만 내가 echo res_recibo[0]을 수행 할 때, 그것은 표시되지 않습니다 mysql_fetch_array가 어떤 값을 반환하지 않는 이유는 무엇입니까?

    $q="select servicio_id from servicio where empresa_prestadora='".$empresa1."' and tipo_servicio='".$serv."'"; 
    $emp_bus=mysql_query($q,$conexion) or die ("Error en insercion de recibo: ".mysql_error()); 
    $res_recibo=mysql_fetch_array("emp_bus"); 
    
    if($res_recibo){ 
    $reciboins=mysql_query("insert into recibo (cod_recibo,fecha_recibo,valor,servicio_id) values ('".$codigo."','".$fecha."','".$costo."','".$res_recibo[0]."')") or die ("Error en insercion de recibo: ".mysql_error()); 
    echo "Recibo agregado!"; 
    }else echo "<b>Empresa no encontrada!</b>"; 
    

    아무 것도 아니며 if 상태를 확인하지 못합니다.

    Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in C:\xampp\htdocs\ProyectoBases\menu_empresa.php on line 80 
    

    누군가가 나에게 잘못을 확인하는 데 도움 수 있다면 감사하겠습니다 :

    또한, PHP에서 나는이 경고를 얻을.

    +0

    위험 ** ** [** ** 구식 ** 데이터베이스 API] (http://stackoverflow.com/q/12859942/19068)를 사용하고 있으며 [현대 대체품] (http : // php.net/manual/en/mysqlinfo.api.choosing.php). 또한 ** [SQL 주입 공격] (http://bobby-tables.com/) **에 현대적인 API를 사용하면 쉽게 방어 할 수 있습니다 ** (http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php)을 사용하십시오. – Quentin

    답변

    1

    오류 메시지는 정확히 무엇이 문제인지 알려줍니다. mysql_fetch_array의 첫 번째 인수는 결과 개체 여야합니다. 문자열을 전달하고 있습니다 (문자열 리터럴 사용).

    귀하의 코드 :

    $res_recibo=mysql_fetch_array("emp_bus"); 
    

    "emp_bus" 분명히 문자열입니다.

    $emp_bus"emp_bus"이 아닙니다.

    관련 문제