Salve ho una funzione che calcola 2 numeri random e se questi corrispondono in un intervallo con quello dei campi deve rifare la funzione altrimenti la restituisce:

Codice PHP:
function cordXY(){

$cord[]=(int)(rand(1,4988));
$cord01=(int)($cord[0] - 1);
$cord02=(int)($cord[0] + 13);

$cord[]=(int)(rand(1,1011));
$cord11=(int)($cord[1] - 1);
$cord12=(int)($cord[1] + 13);

$QueryXY=mysql_query("Select STARTOP from stars Where STARTOP BETWEEN $cord01 AND $cord02 AND STARLEFT BETWEEN $cord11 AND $cord12") or die (mysql_error()." errore controllo cordX");
if(
mysql_num_rows($QueryXY) > 0){
cordXY();
}else{
return
$cord;
}

}

$cord=cordXY();
mysql_query("Insert Into stars (IDSTAR, STARTOP, STARLEFT) values ('$idstar','$cord[0]','$cord[1]')") or die (mysql_error());
ma non capisco il perche molte volte sia $cord[0] che $cord[1] mi da 0 in entrambi mentre altre volte mi restituisco valori che comprendono nell'intervallo che non dovrebbe farlo visto che glie lo impostato nella query del BETWEEN.

Sono alla frutta non so proprio come risorverlo sto rompicapo