Hallo,
habe diesen Beitrag verfolgt und habe so ziemlich das gleiche Problem. Komischerweise läuft es auf meinem Testserver ohne irgend eine Fehlermeldung einwandfrei.
Aber beim scharf schiessen - kümmte da diese...
	
		
Es handelt sich hierbei um einen Teil eines Clusterscripts für GMap, welches ich gern einsetzen würde. Ich hatte deshalb heute den Server auf PHP5 umgestellt und benötige daher etwas Hilfe..
Hier der Code, um den es geht :
	
Da ich noch garnix mit php5 gemacht habe, stehe ich irgendwie im Dunkeln, zumal es mich erstaunt, das es auf einem Server geht und auf dem anderen wieder nich...
Würde mich sehr über einen Anschub freuen..
Danke Kasimir
					habe diesen Beitrag verfolgt und habe so ziemlich das gleiche Problem. Komischerweise läuft es auf meinem Testserver ohne irgend eine Fehlermeldung einwandfrei.
Aber beim scharf schiessen - kümmte da diese...
			
			
				Fatal error: Uncaught exception 'PDOException' with message '
SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active.
Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql,
you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.'
in /var/www/vhosts/domain.eu/httpdocs/map_data.php:65 Stack trace:
#0 /var/www/vhosts/domain.eu/httpdocs/map_data.php(65): PDO->prepare('SELECT * FROM d...') #1
{main} thrown in /var/www/vhosts/domain.eu/httpdocs/map_data.php on line 65
	SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active.
Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql,
you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.'
in /var/www/vhosts/domain.eu/httpdocs/map_data.php:65 Stack trace:
#0 /var/www/vhosts/domain.eu/httpdocs/map_data.php(65): PDO->prepare('SELECT * FROM d...') #1
{main} thrown in /var/www/vhosts/domain.eu/httpdocs/map_data.php on line 65
Es handelt sich hierbei um einen Teil eines Clusterscripts für GMap, welches ich gern einsetzen würde. Ich hatte deshalb heute den Server auf PHP5 umgestellt und benötige daher etwas Hilfe..
Hier der Code, um den es geht :
PHP-Code:
	
	
<?php  $fetch_generations = 5; 
$viewport_points_upper_limit = 80;
  switch($_GET['data']) 
{  
 case 'us':     
$clusters_table = "dams_us_clusters";     
break;   
default:    
 $clusters_table = "dams_au_clusters"; 
}  
require('wp-config.php'); 
try {   $dbh = new PDO('mysql:host=localhost;dbname=transflug', DB_USER, DB_PASSWORD); 
 $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} 
catch (PDOException $e) 
{   
print "Error: " . $e->getMessage();   die();
 }  
list($latitude_min, $longitude_min) = explode(',', $_GET['sw']);
list($latitude_max, $longitude_max) = explode(',', $_GET['ne']);
 if ($longitude_min > $longitude_max) 
{
   if (abs($longitude_min) > abs($longitude_max)) 
{
   $longitude_min = -179.99;   
} else 
{     $longitude_max = 179.99;   } 
}  
$viewport_query = $dbh->prepare(   "SELECT * FROM $clusters_table WHERE
  latitude_min <= :latitude_min 
AND   latitude_max >= :latitude_max 
AND   longitude_min <= :longitude_min 
AND   longitude_max >= :longitude_max   
ORDER BY level DESC LIMIT 1"); 
$viewport_query->bindParam(':latitude_min', $latitude_min);
 $viewport_query->bindParam(':latitude_max', $latitude_max); 
$viewport_query->bindParam(':longitude_min', $longitude_min); 
$viewport_query->bindParam(':longitude_max', $longitude_max);  
$viewport_query->execute(); 
 if ($viewport_query->rowCount() > 0) 
{   
$parent_cluster = $viewport_query->fetch(PDO::FETCH_ASSOC);
 }
 else 
{   $viewport_query_wide = $dbh->prepare(     "SELECT * FROM $clusters_table WHERE LEVEL=0 LIMIT 1");  
 $viewport_query_wide->execute();   $parent_cluster = $viewport_query_wide->fetch(PDO::FETCH_ASSOC);
 } 
 $root_level = $parent_cluster['level'];
 $min_level = $root_level + $fetch_generations;
 $children_query = $dbh->prepare(   "SELECT * FROM $clusters_table 
WHERE   left_side >= :left 
AND   right_side <= :right 
AND   level <= :level_min 
AND NOT (     latitude_min > :latitude_max 
OR     latitude_max < :latitude_min 
OR     longitude_min > :longitude_max 
OR      longitude_max < :longitude_min   )   
ORDER BY level ASC, child_count DESC"); 
$children_query->bindParam(':level_min', $min_level); 
$children_query->bindParam(':left', $parent_cluster['left_side']); 
$children_query->bindParam(':right', $parent_cluster['right_side']); 
$children_query->bindParam(':latitude_min', $latitude_min); 
$children_query->bindParam(':latitude_max', $latitude_max); 
$children_query->bindParam(':longitude_min', $longitude_min); 
$children_query->bindParam(':longitude_max', $longitude_max);  
$children_query->execute();   $clusters_by_id = array(); 
$root_cluster_id = 0; while($this_cluster = $children_query->fetch(PDO::FETCH_ASSOC)) 
{
   $this_cluster_id = $this_cluster['id'];
   $this_cluster['children'] = array(); 
  $this_cluster['included'] = false;   $clusters_by_id[$this_cluster_id] = $this_cluster;
   if ($this_cluster['level'] == $root_level) 
{ 
    $root_cluster_id = $this_cluster_id;  
 } 
else 
{     $clusters_by_id[$this_cluster['parent_id']]['children'][] = $this_cluster_id; 
  } 
}  //var_dump($clusters_by_id); 
 $total = 1;
 $clusters_by_id[$root_cluster_id]['included'] = true; 
 foreach($clusters_by_id as &$this_cluster) 
{ 
  if ($this_cluster['included']) 
{ 
   if ($total + count($this_cluster['children']) - 1 <= $viewport_points_upper_limit) 
{ 
   if (count($this_cluster['children']) > 0) 
{         $total += count($this_cluster['children']) - 1; 
        foreach($this_cluster['children'] as $included_id)
 {           $clusters_by_id[$included_id]['included'] = true; 
        }         
$this_cluster['included'] = false;
       }
     } 
else 
{  
     break;    
   }
   } 
} 
unset($this_cluster); 
   echo "/* ".count($clusters_by_id)." clusters from SQL, chose ".$total." for display. */\n";   $items_text = array(); 
 foreach($clusters_by_id as $this_cluster) 
{
   if ($this_cluster['included']) 
{ 
    $items_text[] = "[".$this_cluster['id'].",". $this_cluster['latitude'] .",". $this_cluster['longitude'] .",". $this_cluster['child_count'] ."]";    
 } 
}  
echo '[' . implode(", ", $items_text) . ']'; 
 ?>
Würde mich sehr über einen Anschub freuen..
Danke Kasimir
 
          
 Komme auch nicht weiter..
									
									
									Komme auch nicht weiter..
								
Kommentar