ThomasFR: -MYSQL in Funktion

Hallo,

ich bin Anfänger was PHP-Funktionen angeht. Jetzt habe ich ein Problem mit dem Datenbank Connect innerhalb einer Funktion.
Das Script läuft außerhalb der Funktion (es werden Datensätze eingetragen). Aber innerhalb der Funktion erhalte ich Fehler wie "Notice: Undefined variable: db in". Ich bin total überfragt.
Kann ich innerhalb einer Funktion keine DB Inserts machen?

Hier mein Script:

function get_new_pixels() {  
	require_once 'pixel/PixelServiceAutoload.php';  
  
	// ##################  VORSICHT NICHT copy/pasten  ##################  
	$wsdl = array();  
	$wsdl[PixelServiceWsdlClass::WSDL_URL] = 'https://tom-test.vgwort.de/services/1.0/pixelService.wsdl';  
	$wsdl[PixelServiceWsdlClass::WSDL_CACHE_WSDL] = WSDL_CACHE_NONE;  
	$wsdl[PixelServiceWsdlClass::WSDL_TRACE] = true;  
	$wsdl[PixelServiceWsdlClass::WSDL_LOGIN] = 'test';  
	$wsdl[PixelServiceWsdlClass::WSDL_PASSWD] = 'test';  
  
	/**************************************  
	* Example for PixelServiceServiceOrder  
	*  
	*	Parameter: Anzahl ( int )  
	*  
	*/  
	$pixelServiceServiceOrder = new PixelServiceServiceOrder( $wsdl );  
	// sample call for PixelServiceServiceOrder::orderPixel()  
	if($pixelServiceServiceOrder->orderPixel(new PixelServiceStructOrderPixelRequest( 2 ))){  
		//print_r($pixelServiceServiceOrder->getResult());  
		$response = $pixelServiceServiceOrder->getResult();  
  
		echo 'Domain: ' . $response->domain . '<br>';  
		echo 'Datum: ' . $response->orderDateTime . '<br>';	  
  
		foreach( $response->pixels->pixel as $pixel ){  
			echo 'Public ID: ' . $pixel->publicIdentificationId . ' - ';  
			echo 'Private ID: ' . $pixel->privateIdentificationId . ' ';  
			$sql = "INSERT INTO zuordnung (`oeffentlicherkey`,`privaterkey`,`countserver`) VALUES  
				( '$pixel->publicIdentificationId' , '$pixel->privateIdentificationId' , '$response->domain')";  
			$db->query($sql);  
			{  
				printf("%d Datensätze<br> \n ", $db->affected_rows);  
			}  
		}  
  
	}else{  
		print_r($pixelServiceServiceOrder->getLastError());  
	}  
} 

Danke für eure Hilfe

  1. "Notice: Undefined variable: db in".

    Das sagt dass $db nicht belegt wurde.

    Jetzt habe ich ein Problem mit dem Datenbank Connect innerhalb einer Funktion.

    Ja weil du keinen machst :-)
    Weise $db was passendes zu, dann gehts auch.

    1. "Notice: Undefined variable: db in".
      Das sagt dass $db nicht belegt wurde.

      Jetzt habe ich ein Problem mit dem Datenbank Connect innerhalb einer Funktion.
      Ja weil du keinen machst :-)
      Weise $db was passendes zu, dann gehts auch.

      Hm,

      also wie gesagt bin ich Anfänger mit Funktionen.
      function get_new_pixels($db) {
      Funktioniert nicht!? Oder muss ich hier etwas anders machen?

      1. Tach!

        also wie gesagt bin ich Anfänger mit Funktionen.

        PHP hat ein Handbuch. Da steht drin, wie Funktionen verwendet werden. Das Konzept der Scopes (Gültigkeitsbereiche von Variablen) unter PHP ist essentielles Grundlagenwissen. Steht auch dort.

        function get_new_pixels($db) {
        Funktioniert nicht!?

        "Funktioniert nicht" funktioniert nicht als Fehlerbeschreibung. Noch dazu, wenn der Funktionskopf nur die Hälfte der Wahrheit ist. Die andere ist die Stelle mit deren Aufruf.

        dedlfix.

        1. Hallo dedlfix,

          vielen Dank ich habe vollkommen auf dem Schlach gestanden. Der Aufruf muss natürlich auch den DB Eintrag haben.