내 웹 사이트 검색 창에서 하나의 검색어로 여러 표를 검색 할 수있게하려고합니다.검색 쿼리를 그룹화하거나 결합 하시겠습니까?
따라서 사용자가 ptb_profiles
에 저장된 사용자 display_name
을 검색하면 이름이 일치하는 사용자가 나오거나 ptb_stats
에 저장된 국적으로 검색하면 해당 국적을 가진 모든 사용자가 표시됩니다.
나는 원래 SELECT * FROM ptb_users, ptb_stats, ptb_profiles
을 사용하여 중복 검색 결과를 얻었으며 동일한 결과가 여러 번 표시되었으므로이 문제를 피하고 각 결과를 그룹화 및 조합을 사용하여 한 번만 표시하도록했습니다. 작업.
이제이 시도 필자 :
$query_for_result=mysql_query("SELECT display_name, location, gender, contact_number FROM ptb_profiles WHERE display_name LIKE '%".$query."%' OR location LIKE '%".$query."%' OR gender LIKE '%".$query."%' OR contact_number LIKE '%".$query."%' JOIN SELECT email, subscription FROM ptb_users WHERE email like '%".$query."%' OR subscription like '%".$query."%' JOIN SELECT nationality, hobbies, local_station FROM ptb_stats WHERE nationality like '%".$query."%' OR hobbies like '%".$query."%' OR local_station like '%".$query."%'
LIMIT 5");
을하지만 이것은 단지 다음과 같은 오류가 나타납니다 : 내가 잘못거야 어디
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/PTB1/includes/mod_sidebar/search.php on line 31
누군가가 말해 주실 수 있습니까?
귀하는 귀하의 스키마 또는 코드를 보여 주거나 계획을 설명하지 않았습니다. 에러는 * mysql_fetch_array()에 도착하기 전에 코드가 실패했거나 적절한 체크를하지 않았기 때문에 발생합니다. – symcbean
가능한 중복 [mysql_fetch_array()는 매개 변수 1이 리소스가 될 것으로 예상하고 부울은 select에서 제공됨] (http://stackoverflow.com/questions/2973202/mysql-fetch-array-expects-parameter-1-to-be-resource- boolean-given-in-select? answertab = votes # tab-top) –
[** 새 코드에서 mysql_ * 함수를 사용하지 마십시오.] (http://bit.ly/phpmsql). 더 이상 유지 관리되지 않으며 공식적으로 사용되지 않습니다 (https://wiki.php.net/rfc/mysql_deprecation). [** 빨간색 상자 **] (http://j.mp/Te9zIL)를 참조하십시오. 대신 [* prepared statements *] (http://j.mp/T9hLWi)에 대해 알아보고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용하십시오. mysqli) - [이 기사] (http://j.mp/QEx8IB)는 어떤 결정을 내리는 데 도움이 될 것입니다. PDO를 선택하면 [여기는 좋은 튜토리얼입니다] (http://j.mp/PoWehJ). –