나는 계속적으로 짹짹을 처리하고 그들을 다른 아카이브로 분류하는 프로그램을 만들었습니다.mysql_query PHP의 SELECT 문이 잠시 후 결과를 반환하지 않습니까?
그 때문에 나는 계속해서 반복하고 (WHILE TRUE) 항상 새로운 트윗이 데이터베이스에 도착했는지 확인하는 PHP 스크립트를 가지고 있습니다. $ DB-> 연결이 문제가 놓여 있었다이다
class MySQLDB
{
var $connection;
function MySQLDB(){
$this->connection = mysql_connect(DB_SERVER, DB_USER, DB_PASS) or die(mysql_error());
mysql_select_db(DB_NAME, $this->connection) or die(mysql_error());
}
}
$db = new MySQLDB;
인 경우
mysql_query("SELECT id from archives", $db->connection);
: 따라서도 트윗에 속할 수있는 모든 가능한 아카이브를 선택합니다. 이 아카이브 가져 오기는 잘 작동하지만 잠시 후 (2 ~ 3 일) 결과가 반환되지 않습니다. mysql select 문은 결과를 반환하지 않지만 오류는 발생하지 않습니다. 이 문제가 이미 당신과 마주 친 누군가입니까? 아무도 여기에 문제가 될 수있는 것에 대한 힌트를 줄 수 있습니까?
고맙습니다.
당신을 이해한다면 프로그램은 질의를 실행하여'archive' 테이블에서'id' 값을 가져오고 일정 시간 후에 쿼리는 빈 결과 집합을 반환하기 시작합니다. 그 맞습니까? 쿼리를 실행할 때 오류를 확인하고 있습니까? –
쿼리를 수행 할 때마다 데이터베이스 연결을 끊었다가 다시 연결합니까? 나는 매우 빠른 쿼리를 기대하기 때문에 루프에 넣으면 초당 여러 번 (아마도 수백 개) 수행 될 수 있습니다. 100 만회에서 3 일에 걸쳐 2 천 5 백만 건의 쿼리가 발생합니다. – Kickstart
@ ollie-jones 맞습니다. 어떤 이유로 쿼리가 잠시 후 결과를 반환하지 않습니다. 실제로 쿼리가 실행되는 횟수는 엄청 크지 만 생각하면 안된다. 빈 문자열과 다른 경우 mysql_error()를 출력합니다. 내가 생각할 수있는 유일한 방법은 데이터베이스 연결과 어떻게 든 관련이 있다는 것입니다. 클래스 MySQLDB (위 참조)는 별도의 config.php 파일에 있으며 PHP 스크립트에 포함되어 있습니다. (왜냐하면 데이터베이스는 다른 PHP 스크립트에서도 사용되기 때문입니다). – Baptist