2013-07-16 2 views
-4

다른 PHP 스크립트에서 실행되는 동일한 쿼리가 있지만 지금은 작동하지 않습니다. 나는 8 시간 동안 문제를 해결하고 아무도 모르는 것처럼 좌절 시켰습니다.간단한 PHP MySQLi 스크립트가 실행되지 않습니다

<?php 
    $con = mysqli_connect("localhost","dave1_guest","password1") 
     or die('Could not connect: ' . mysqli_error()); 

    mysqli_select_db("dave1_main",$con) or die(mysqli_error()); 

    $result = mysqli_query("SELECT * FROM Inventory limit 100"); 

    while($row = mysqli_fetch_array($result)) { 
     echo $row['ItemNumber'];    
    } 
    mysqli_close($con); 
?> 

PhpMyAdmin에서 쿼리를 실행하려고 시도했지만 결과가 0입니다! 이건 불가능 해. PhpMyAdmin으로 테이블을 열면 열리고 수천 개의 행이 표시됩니다.

PhpMyAdmin이 사용하는 쿼리를 실행하면 작동합니다. 그러나 WHERE StockNumber='13922'과 같은 제약 조건을 추가 할 때는 그렇지 않습니다.

또 바보 같은 점은이 스크립트가 내 사이트의 다른 PHP 페이지에서도 작동한다는 것입니다.

+0

이 유형의 질문은 항상 볼 수 있습니다. [PHP 및 MySQL의 일반적인 데이터베이스 디버깅] (http://jason.pureconcepts.net/2013/04/common-debugging-php-mysql/)을 읽어야합니다. –

+1

'mysqli'에서'mysql'으로 함수를 변경하는 것을 권장하지 않습니다. 매뉴얼의 각 함수를 살펴보고 입력과 출력을 확인하고 각각의 결과에 대해 'var_dump'를 수행하여 예상 한 결과인지 확인하는 것이 좋습니다. – halfer

+0

내가 말했듯이. 8 시간의 디버깅. 나는 그 기사에서 물건을 시도했다 –

답변

1

데이터를 두 번 가져 오는 중입니다. 이 라인 삭제하기 $row = mysqli_fetch_array($result);

+0

을 고칠 것입니다. 어느 쪽도 작동하지 않습니다. phpmyadmin에 쿼리를 넣어도 작동하지 않습니다! –

+0

@dave : 두 번 페치한다는 사실을 제거하지 않습니다. while() 전에 가져 오기는 단순히 루프 내부의 가져 오기에 의해 덮어 써서 가져온 행을 삭제합니다. 쿼리에서 하나의 행만 반환하는 경우 WAS에서 반환 한 데이터가 삭제 되었기 때문에 여전히 "아무 것도"남아 있지 않습니다. –

+1

phpmyadmin – Vector

1

나는 당신의 문제를 모른다. 그래서 나는 정확한 에러를 보지 못했다. 그러나 나는 약간의 도움을 시도 할 것이다. 우선 :

$con = mysqli_connect("localhost","dave1_guest","password1") or die('Could not connect: ' .  mysql_error()); 

mysqli_select_db("dave1_main",$con) or die(mysql_error()); 
$result = mysqli_query("SELECT * FROM Inventory LIMIT 100"); 
$row = mysqli_fetch_assoc($result); 
print_r($row); 
while($row) 
{ 
    echo $row['ItemNumber'];    
} 

mysqli_close($con); 

시도해보십시오!

+0

시도했습니다. 여전히 작동하지 않습니다 .. –

+0

@DaveFes'print_r ($ row);를 반환 한 이유는 무엇입니까? 비어있는 결과 - 잘못된 SQL 쿼리가 있습니다. – RomanGorbatko

+0

로마어, 아무 것도 반환하지 않습니다. 위에서 말한 것처럼 PHPmyadmin에서 쿼리를 실행해도 행이 반환되고 오류가 발생하지 않습니다. –

관련 문제