2012-06-01 2 views
-1

을 여기 mysql_fetch_assoc($query);

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/a6461923/public_html/index.html on line 111 

를 사용하여 내 쿼리입니다!

$result = mysql_query($query); 
$row = mysql_fetch_assoc($result); 

은보다 완벽한 예를 들어 this link를 참조하십시오

+0

mysqli_ * 또는 PDO를 사용해야합니다. – Jared

+0

검색 기능을 사용하십시오. 이 질문은 몇 번이고 해답이었습니다. – jprofitt

+0

귀하의 질의는 SQL 주입에 취약합니다. http://en.wikipedia.org/wiki/SQL_injection에서 읽기 –

답변

0

난 당신이 다음과 같은 것을 실행해야합니다 생각합니다.

+0

나는 그것을 보여주지 않았다. – PJCH

6

단계

(다시 한번)이 질문을하기 전에 내 쿼리가 작동하지

... :

  1. 데이터베이스에 대한 연결을 확인 .
  2. 쿼리에 오류가 없는지 확인하십시오. 코드에서 사용되는 동일한 자격 증명을 사용하여 PHP 외부 데이터베이스에 연결

    • :

당신은이 작업을 수행 할 수 있습니다.

  • 는 쿼리 (echo $query;는) 다음 (phpMyAdmin과 또는 MySQL의 CLI를 통해로) 직접 데이터베이스에 대해 그것을 실행 출력 : 코드에서 mysqli_error()mysqli_num_rows() 같은
  • 사용 기능.
  • 일반적인 PHP/MySQL의 프로그래밍에 대한 몇 가지 추가 팁 :

    • SQL Injection 읽기 최대.
    • MySQL에서 literal values을 이스케이프하고 인용 할시기를 숙지하십시오.
    • MySQL 연결을 조기에 닫지 않도록주의하십시오. PHP는 실제로 스크립트가 끝날 때 자동으로 그렇게 할 것입니다.
    • Jared에 의해 주석 처리 된 경우 now deprecated MySQL 확장 대신 MySQLi 또는 을 사용해야합니다.
    • Prepared Statements도 참조하십시오.
    +0

    좋은 설명 – codingbiz

    1

    이것은 아마도 mysql_query()의 검색어가 잘못되었음을 의미합니다.PHP는 쿼리 결과를 읽는 곳이 있기 때문에 오류가 mysql_fetch_assoc()에 있다고 말합니다. 그리고 결과가 유효한 결과 세트가 아니면 경고가 발생합니다.

    $query 문자열을 작성한 후에 잘못된 문자열 (누락 된 변수가 모든 사람에게 한 번 발생 함)을 확인한 후 die($query);과 같은 문자를 입력하십시오.

    관련 문제