2014-10-21 2 views
1

나는이 코드에 실질적인 문제가있다. 기본적으로 나는 호출하여 하나의 PHP 데이터 사이트에 데이터를 추가하려고하는 외부 서버를 가지고있다. 그러나 어떤 이유로이 주제에 대한로드를 읽은 후에도 여전히이 작업을 수행 할 수 없습니다.내 SQL 결과가 PHP 사이트에서 인쇄되지 않는 이유는 무엇입니까?

다음 코드는 아래에 있으며 이는 내가 염두에두고있는 개념이지만 어떤 이유로이 기능이 올바르게 작동하는 데 아무런 문제가 없습니까?

<html> 
    <head> 
    </head> 
    <body> 
     <?php 
      // Determine Yesterday 
      date_default_timezone_set('Europe/London'); 
      $m= date("m"); // Month value 
      $de= date("d"); //today's date 
      $y= date("Y"); // Year value 
      $yd = date('d', mktime(0,0,0,$m,($de-1),$y)); 
      $ym = date('m', mktime(0,0,0,$m,($de-1),$y)); 
      $yy = date('Y', mktime(0,0,0,$m,($de-1),$y)); 

      $yest = $yy.'-'.$ym.'-'.$yd; 
      $cd = date("Y-m-d"); 

      // Make a MySQL Connection 
      ini_set('mysql.connect_timeout', '240'); 

      // Make a MySQL Connection 
      $con=mysql_connect("location", "Username", "Password"); 

      // Check MySQL connection 
      if (mysql_connect_errno()) { 
      echo "Failed to connect to MySQL: " . mysql_connect_error(); 
      } 

      $Test= mysql_query("SELECT * FROM DB1.Table WHERE date(DateCreated) between '$yest' and '$yest'") or die(mysql_error()); 

      echo "<table border='1'> 
      <tr> 
      <th> DataField1 </th> 
      </tr>" 

      while($row=mysql_fetch_array($Test)){ 
       echo "<tr> 
       <th>" .$row['DataField1']. "</th> 
       </tr><tr> 
       <th>" .$row['DataField2']. "</th> 
       </tr>"; 
      } 
      echo"</table>"; 

      mysql_close($con); 
     ?> 

    </body> 
    <footer> 
    </footer> 
</html> 

내가 어떤이는 눈부시게 분명 문제입니다에 대한 확신 해요,하지만 난 데이터베이스 연결을 가진 초보자의 비트를 해요 :

은 어떤 도움이 많이 주시면 감사하겠습니다. 이 현재 코드는로드 될 때 웹 페이지에서 아무 것도 생성하지 않습니다.

+0

[mysql_select_db'] (http://php.net/manual/en/function.mysql-select-db.php) 선택한 t. –

+0

@ Fred-ii- 그는 "DB1"쿼리에서 사용합니다. 그래서 select db를 사용할 필요가 없습니다. – Robert

+0

@Robert * 오, * 당신이 할 수 있고 mysql_select_db를 사용할 필요가 없습니까? –

답변

1

메타 수준 오류 :

date(DateCreated) between '$yest' and '$yest' 

는 기본적으로

date(DateCreated) = '$yest' 

의 말의/쓸모없는 버전입니다 그리고이 해야하는 경우로 "어제", 당신의 PHP 날짜 맹 글링의 모든 코드는 무의미한. 당신은 데이터베이스에 훨씬 더 쉽게 직접 할 수있는 :

WHERE date(DateCreated) = (CURDATE() - INTERVAL 1 DAY) 

그리고 기능 오류 :이 기능은 존재하지 않는

 if (mysql_connect_errno()) { 

. MySQL은 _ *() 함수는 단순히 부울 FALSE를 반환하고,이처럼 확인 것 :

$db = mysql_connect(...); 
if ($db === FALSE) { 
    die(mysql_error()); 
} 
+0

현재 미안하지만, 현재는 작동하지 않지만 날짜 정보/함수가있는 흥미로운 조언이 있습니다. –

-1

을로 MYSQL_ASSOC를 들어 : mysql_fetch_array($Test,MYSQL_ASSOC) 또는 사용 $ 행 [0] 대신 $ 행 [ 'DataField1']의. 당신은 정규 배열을 얻고 있지만 연관 배열로 사용하려합니다.

+0

False : fetch_array는 기본적으로 "both"배열을 반환합니다. fetch_row는 순전히 숫자 키 배열을 반환합니다. –

관련 문제