2012-11-08 5 views
-4

가능한 중복 :
PHP (MySQL) error : “Warning: mysql_num_rows() expects parameter 1 to be resource”PHP 오류 메시지 : 경고 : mysql_num_rows도()는 매개 변수 (1) 자원, 부울있을 것으로 기대

내가 AJAX의 PHP 페이지를 얻으려고 작동하는 기능. 나는 그것을 실행하려고하면 다음

는 오류 메시지입니다 :

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/ftpbpan/public_html/ThornAJAX/info.php on line 10 

라인 (10)의 존재 :

**$num_rows = mysql_num_rows($query);** 

<?php 
$connect = mysql_connect("localhost","****","******") or die("didnot connect to database"); 

mysql_select_db("people"); 

if(strlen($_GET['user']) >0){ 
$name = $_GET['user']; 
$query = mysql_query("select * from info where name='$name' limit 1"); 
$num_rows = mysql_num_rows($query); 

if($num_rows == 1) { 
    $row = mysql_fetch_assoc($query); 
+2

오른쪽의 링크를 확인 했습니까? – jeroen

+0

mysql_query는 성공시 결과를 반환하고 오류시 false를 반환합니다. 질문에 오류가 있다고합니다. mysql_ 라이브러리도 역시 사용되지 않습니다. – Jrod

+0

새 코드를 작성하는 데 mysql_ * 함수를 사용하지 마십시오. 더 이상 유지 관리되지 않으며 커뮤니티가 [지원 중단 프로세스] (http://goo.gl/KJveJ)를 시작했습니다. * [빨간색 상자] (http://goo.gl/GPmFd) *를 참조하십시오. 대신 [prepared statements] (http://goo.gl/vn8zQ)에 대해 알아야하고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용해야합니다. mysqli). 어떤 것을 결정할 수 없다면 [이 기사] (http://goo.gl/3gqF9)가 도움이 될 것입니다. PDO를 선택하면 [여기는 좋은 가이드입니다] (http://goo.gl/vFWnC). –

답변

0

당신이 LIMIT 1를 사용하는 경우, 당신이 중 하나가 될 것이라고 가정 할 수 없다 1 행 또는 0 행? 내가 당신과 내가 MySQL 데이터베이스와 상호 작용하는 사용되지 않는 방법을 사용하는 경우 따라서, 내가 사용하는 것 :

$query = mysql_query("SELECT * FROM info WHERE name='$name' LIMIT 1")or die(mysql_error()); 
if ($query && mysql_num_rows($query)) { 
    // A result was found 
    $row = mysql_fetch_array($query); 
} else { 
    //There were no results found 
} 

을 다시, 당신은 아마이 읽어야

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

+0

도움 주셔서 감사합니다 ... 죄송합니다, 전이 일에 완전한 초보자입니다. 여기에 내가 작업하고있는 페이지가있다 : http://www.bpanzullo.com/ThornAJAX/Ajaxindex.html 나는 단지 테스트 용 데이터베이스에 Paul을 넣었다. 이것은 오류를 줄이는 데 도움이되었다. msql 대신 mysqli를 시도했지만 더 많은 오류가 발생했습니다. 사용자 이름이 Paul이 아닌 데이터베이스 오류가 발생했습니다. Paul은이 문제를 테스트하기 위해 데이터베이스에있는 유일한 사람입니다. 데이터베이스는 사람이라고 불리며, 내가 사용하고있는 테이블 (많은 것들이있다)은 peopleTwo라고 불리우며, 여기에 아주 작은 코드가있다 : –

+0

0) { $ name = $ _GET [ 'user']; $ query = mysql_query ("select * from peopleTwo where name = '$ name'limit 1)); if (false === $ query) { die (mysql_error()); } $ num_rows = mysql_num_rows ($ query); if ($ num_rows == 1) { \t $ row = mysql_fetch_assoc ($ query); –

관련 문제