2011-08-18 3 views
4

가능한 중복 :
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select경고 : mysql_fetch_row() 함수는()는 매개 변수 (1) 자원을 될 것으로 기대

나는이 스크립트를 실행할 때 나는 아래의 메시지를 수신하고 있습니다 :

경고 : mysql_fetch_row()는 매개 변수 1이 /var/www/html/toolkit/routing.php의 12 행에 주어진 리소스 인 문자열이라고 가정합니다.

나는 mysql 콘솔에서 쿼리를 실행하고 올바른 행을 인쇄합니다. 왜 내가 PHP에서 나타나지 못하게 확실하지 않은가요?

routing.php 페이지 :

<?php 
error_reporting(E_ALL); 
////error_reporting(0); 
ini_set('display_errors', 'On'); 
include("db/sbc_config.php"); 
include("db/mysql.class.php"); 
$db = new MySQL(true, DB_DATABASE_ROUTING, DB_SERVER, DB_USER , DB_PASS); 
if ($db->Error()) $db->Kill(); 

     $searchroute = "SELECT * FROM destination_route as d WHERE d.destPrefix='2146811'"; 

     $result = mysql_fetch_row($searchroute); 
    echo $result; 

    ?> 

sbc_config.php :

<?php 
//database server 
define('DB_SERVER', "10.10.1.146"); 

//database login name" 
define('DB_USER', "user"); 

//database login password 
define('DB_PASS', "pasword"); 

//database names 
define('DB_DATABASE_ROUTING', "routing"); 

//smart to define your table names also 
define('TABLE_DESTINATION_ROUTE', "destination_route"); 


?> 
+1

http://stackoverflow.com/search?q=%5Bphp%5D%20parameter%20resource%20mysql –

+0

데이터베이스에 연결하는 중에 오류가 발생할 수 있습니다.이 경우에도이 오류가 발생할 수 있습니다. – Muk

답변

7

mysql_fetch_row는 커서를 취하고 그 커서의 다음 행을 반환합니다. 당신은 그것에게 줄을 주려고합니다. 한 걸음도 놓치 셨습니다.

먼저 해당 쿼리를 실행해야합니다 :

$cursor = mysql_query($searchroute); // for example 
$result = mysql_fetch_row($cursor); 
+0

" 배열 "구현할 때 오류가 없습니다. – ipengineer

+1

배열을 반환하기 때문에. 'print_r'로 출력하십시오. – Maerlyn

+0

은 훌륭했습니다. 감사! – ipengineer

2

을 당신은 결과를 가져올 수 있습니다 전에 쿼리를 실행해야합니다 :

mysql_fetch_row() 함수는 상 mysql_query 후, 당신은 '수를 호출 할 필요가
$searchroute = "SELECT * ..."; 
$results = mysql_query($searchroute); 
$row = mysql_fetch_row($results); 
+0

위의 모든 솔루션은 구현할 때 "Array"로 돌아 오지만 오류는 없습니다. – ipengineer

0

을 행 t은 가져 오기에 쿼리를 전달할 - 참조 PHP Manual

0
$db = new MySQL(true, DB_DATABASE_ROUTING, DB_SERVER, DB_USER , DB_PASS); 

이 그게 MySQLi일까요? mysql _ *() 함수에는 OOP 인터페이스가 없다. mysqli와 mysql 호출은 지원되지 않을 것이다. 그것들은 내부적으로 서로 완전히 독립적이며, db handle이나 result statement는 다른 것에서는 사용할 수 없다.

관련 문제