2016-11-20 5 views
0

이 쿼리는 wordnet에 의해 제공되며 정의와 같은 단어 정보를 가져 오는 데 사용됩니다. 예를 들어 dict라는 이름의 뷰에서 예제를 검색 할 수 있습니다. 한 달 동안 잘 작동했지만 이제는 작동이 멈췄습니다. 옆에있는이 쿼리는 phpMyadmin에서 잘 작동합니다! 관련 장소에서 모든 메소드/함수 호출 및 인쇄 mysqli_connect_errno(), mysqli_connect_error()mysqli_stmt_errno($stmt)에서WordNet 데이터베이스의 mysql 쿼리가 정상적으로 작동하고 작동을 멈추었습니다.

if ($stmt = $link->prepare("SELECT lemma,pos,sensenum,synsetid,definition ,sampleset FROM dict WHERE lemma = ? ORDER BY pos,sensenum")) 
{ 
    $stmt->bind_param("s",$Vocab); 
    $stmt->execute(); 
    $stmt->bind_result($Lemma, $Pos, $Sensenum, $synsetid, $Def1, $Def2); 
    while($stmt->fetch()) 
    { 
     $output[]=array("Pos"=>$Pos,"Sensenum"=>$Sensenum,"Def1"=>$Def1,"Def2"=>$Def2, "pDef"=>''); 
    } 
    echo "@@*@@"; 
    print json_encode($output); 
    $stmt->close(); 
} 
+0

을?는 echo''의 내용을 인쇄합니까? 그냥 것을 그것을 가능 '$ stmt-> execute()'의 반환 값을 출력한다'$ output' 배열을'var_dump ($ output)'으로 덤프 해보자. – blackpen

+0

'$ stmt-> execute ()'TRUE를 반환합니까? 'var_dump ($ output)'은 무엇을 인쇄 했습니까? while 루프 바로 뒤에 넣을 수 있습니다. – blackpen

+0

결과는 @@ * @@ NULL입니다. phpMyAdmin에서 동일한 쿼리 결과가 많습니다! – behruz

답변

0

확인 반환 값은 오류를 확인합니다.

데이터베이스 이름이 구성에서 변경되었을 수 있습니다. 사용자/암호가 변경되었을 수 있습니다 (올바른 것으로 생각되면 select now() as c1과 같은 거짓 쿼리를 실행하고 작동하는지 확인하십시오)

더미 쿼리가 작동하는 경우 원래 쿼리를 실행하고 where 절을 제거하고 당신이 그것을 알아 낸 경우 limit 10 절을 사용하여 행을 제한하여.

그리고, 미래의 독자를 위해 여기에 정보를 추가합니다. 모든 오류