복붙노트

[SQL] PHP는 쇼핑 카트를 만드는 동안 오류 : "경고로 MYSQL_ASSOC ()는 자원, 부울 주어진 일 1 매개 변수를 기대한다"[중복]

SQL

PHP는 쇼핑 카트를 만드는 동안 오류 : "경고로 MYSQL_ASSOC ()는 자원, 부울 주어진 일 1 매개 변수를 기대한다"[중복]

이것은 내가 내 product.php에있는 코드입니다, 내가 홈 페이지에서 제품을 클릭 할 때마다 그것은 경고 아래로 온다 :

if ( isset( $_GET['ID'] ) ) {
    $product_id = $_GET['ID'];
    $query = "SELECT Name, Genre, Price, Year, Picture FROM Products";
    $result = mysql_query( $query );

    while ( $row = mysql_fetch_array( $result, MYSQL_NUM ) ) {
        echo "<div><p>Name: $row[0]</p><p>Genre: $row[1]</p><p>Price: $row[2]</p><p>Year: $row[3]</p></div>";
    }
    echo "<div><a href=\"cart.php?action=add&product=$product_id\">add to basket</a></div>";
}

내가 경고를 얻을 :

해결법

  1. ==============================

    1.올해는``역 따옴표를 사용하여 탈출해야 MySQL의 예약어입니다

    올해는``역 따옴표를 사용하여 탈출해야 MySQL의 예약어입니다

    $query = "SELECT Name, Genre, Price, `Year`, Picture FROM Products";
    

    하나 아래와 같이 확인 MySQL의 에러의 어떤 종류를 사용해야합니다

    $result = mysql_query($query) or trigger_error(mysql_error());
    
  2. ==============================

    2.@Click 이미 오류 지적했다.

    @Click 이미 오류 지적했다.

    더 일반적으로하지만 - 그것은 쿼리가 실패 할 때 유용한 정보를 얻지 못하고있어 당연 있도록, 당신의 쿼리에서 오류 확인을 수행하지 않습니다. 이 작업을 수행하는 방법에는 mysql_query에 설명서에 설명되어 있습니다 () 또는이 참조 질문입니다.

    예:

    $result = mysql_query($query);
    
    if (!$result)
     { trigger_error("SQL error:".mysql_error());
       die();
     }
    
  3. from https://stackoverflow.com/questions/9481963/warning-mysql-fetch-array-expects-parameter-1-to-be-resource-boolean-given by cc-by-sa and MIT license