2013-06-08 2 views
0

어떻게 int, string 및 blob을 모두 동일한 PHP 배열에 저장합니까? 내가 뭐하는 거지 뭔가 잘못blob과 문자열을 PHP의 동일한 배열에 저장하는 방법

$query = mysql_query("SELECT * FROM data WHERE index ='1'"); 
$data= mysql_fetch_array($query); 
echo $data["title"] 

있습니까 :

Warning: mysql_fetch_array() expects parameter 1 to be resource, 
boolean given in D:\Hosting\11116942\html\index.php on line 42 

이 같은 데이터베이스에 연결하고 - 여기 내가 시도하고 나에게 같은 오류를주고 계속 무엇인가?

답변

0

실행중인 쿼리가 아마 어떤 행도 반환하지 않습니다. 이 시도 :

if (false !== ($query = mysql_query("SELECT * FROM data WHERE index ='1'")) { 
    $data = mysql_fetch_array($query); 
    echo $data['title']; 
} 
+0

아니요. 여전히 오류가 있습니다. 그 테이블 행에있는 데이터 유형과 관련이 있다고 생각합니다. – user2438604

+0

쿼리 자체에 문제가있을 가능성이 높으므로 PHP는 동일한 쿼리에서 다른 유형을 검색하는 데 아무런 제한을 두지 않습니다. 쿼리를 직접 실행하면 쿼리가 작동합니까? – mplf

0

manual에서 : -

등 SQL 문, INSERT, UPDATE, DELETE, DROP, 다른 유형의 경우는 mysql_query()는 성공시 TRUE 또는 오류에 FALSE를 반환합니다.

...

는 mysql_query()는 실패하고 사용자가 쿼리에서 참조 테이블 (들)에 액세스 할 수있는 권한이없는 경우 FALSE를 반환합니다.

코드에서 $query = false 인 이유는 무엇입니까? mysql_query()으로 잘못되었습니다. 데이터베이스에 연결되어 있고 액세스 권한이 있는지 확인하십시오.

또한 문자열로 쿼리 할 때 index에 대한 데이터 유형을 확인하십시오. 아마도 int 인 것 같습니다. 시도해보십시오. -

$query = mysql_query("SELECT * FROM `data` WHERE index = 1"); 

mplf에서 제안한대로 반환 값을 확인하십시오.

매뉴얼은 때때로 유용 할 수 있으며 일이 잘못 될 경우 올바른 방향으로 사람들을 안내하는 것으로 알려져 있습니다.

또한 please, don't use mysql_* functions in new code입니다. 그들은 더 이상 유지 관리되지 않으며 deprecation process has begun입니다. prepared statements에 대해 자세히 알아보고 PDO 또는 MySQLi을 사용하십시오. this article은 어떤 결정을 내리는 데 도움이됩니다. PDO를 선택하면 here is a good tutorial.

+0

나는 그것이 오류를 내고 있음을 발견했다. 색인은 SQL 명령으로 만들어졌으며 변수 이름으로 사용할 수 없다. – user2438604

+0

id로 바꿨고 – user2438604

+0

이 작동했습니다. 그러므로 내 버전에서는 백이 똑딱 거립니다. – vascowhite

관련 문제