문제

PHP를 사용하여 MySQL에서 특정 페이지에 표시되는 메시지를 가져오고 있습니다. 지정된 제목 표시 줄에 메시지 제목을 표시하는 대신 지정된 본문 텍스트 상자에 메시지를 표시하는 대신 URL에 제목이 표시되지 않고 제목이 표시됩니다. 쿼리에서 무엇이 누락 되었습니까? 아니면 무슨 일이 일어나고 있습니까?

/*--Here is my query--*/

$query = "SELECT * FROM `Messages` WHERE `id` = '" .$messageid. "'";
            $request = mysql_query($query,$connection) or die(mysql_error());
            $Readmessages = mysql_fetch_array($request);

             $query = "SELECT * FROM `Users` WHERE `id` = '".$Readmessages['sentFrom'] ."'";
             $request2 = mysql_query($query,$connection);
             $sender = mysql_fetch_array($request2);

/*--Here is my code--*/
도움이 되었습니까?

해결책

제 조언은 phpmyadmin과 같은 MySQL 응용 프로그램에서 모든 쿼리를 수행하고 원하는 결과를 얻는 것입니다. 쿼리 문제를 충족 할 때 항상 내가하는 일, 응용 프로그램에서 쿼리를 실행하여 쿼리 자체가 작동한다고 확신합니다. Mac을 사용하는 경우 속편 Pro (무료)를 권장합니다.

도움이 지연되어 죄송합니다.

다른 팁

우선, 당신은 사용할 필요가 없습니다. (Append) $ MessageId -Vis :

$query = "SELECT * FROM `Messages` WHERE `id` = '$messageid'";

둘째, 실제로 행을 반환했는지 확인하고 (여기서는 클린 처가 있습니다) 사용하십시오. mysql_fetch_assoc() 대신에 mysql_fetch_array() - 또는 필드 이름을 얻지 못합니다.

if ( $Readmessages = mysql_fetch_assoc($request) )
{
   $sentfrom = $Readmessages['sentFrom'];
   if (strlen($sentfrom) > 0)
   {
      $query = "SELECT * FROM `Users` WHERE `id` = '$sentfrom'";
      ...
   }
}

쿼리를 확인하려면 HTML에서 쿼리를 출력하고 소스를 볼 수 있습니다.

echo "<!-- <sql>$query</sql> -->";

코드가 예상하지 못할 때는 가정을 두 번 확인하십시오.

1) $ MessageId가 필요한 것으로 채워 졌는지 확인하십시오.

2) 반환하는 행이 무효가 아닌지 확인하십시오. 즉, 데이터 만 작동합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top