Parsowanie .xmla i zapis do bazy

0

Przy zapisie z .xml-a do bazy dostaje zerowe rekordy. Proszę o pomoc bądź wskazówki, jak poprawnie użyć zmiennych w metodzie:

mysqli_query($db, sprintf(
		'INSERT INTO pomiary (miejsce, temperatura, silawiatr, cisnienie) VALUES (\'$miejsce\',\'$temp\',\'$wiatr\',\'$cisnienie\')'));

Ponizej cały kod:

elseif(isset($_POST['doBazy'])){
	if($db = @mysqli_connect('localhost','root','')){
		mysqli_select_db($db, 'test');
		//obróbka .xml-a
		$dom = new DOMDocument();
		$dom -> load('dane.xml');
		foreach ($dom -> getElementsByTagname('kamera') as $element){
			$miejsce = $element -> getAttribute('miejsce');
			foreach (($element -> childNodes) as $e){
				if (is_a($e, 'DOMElement')){
					if ($e -> tagName == 'temp'){
						$temp = htmlspecialchars($e->textContent);	
					}
					elseif($e -> tagName == 'wiatr'){
						$wiatr = htmlspecialchars($e->textContent);	
					}
					elseif($e -> tagName == 'cisnienie'){
						$cisnienie = htmlspecialchars($e->textContent);	
					}	
				}
			} 
		
		///////
		mysqli_query($db, sprintf(
		'INSERT INTO pomiary (miejsce, temperatura, silawiatr, cisnienie) VALUES (\'$miejsce\',\'$temp\',\'$wiatr\',\'$cisnienie\')'));
		}	
		

		echo 'Dane zapisano w bazie.';
		mysqli_close($db);
	}
0

Problem już rozwiązany, ale zamieszczam dla potomnych poprawne uzycie metody:) :

mysqli_query($db,"INSERT INTO pomiary (miejsce, temperatura, silawiatr, cisnienie) VALUES ('$miejsce','$temp','$wiatr','$cisnienie')");
0

ja wiem czy takie poprawne? przecież tu dziura SQL Injection aż boli :P

0
dzek69 napisał(a):

ja wiem czy takie poprawne? przecież tu dziura SQL Injection aż boli :P

czyli jak to poprawnie zabezpieczyć?:) Chodzi Ci zabezpieczenie typu?

mysqli_real_escape_string($zmienna1);
doubleval($zmienna2);
0

tak

0
dzek69 napisał(a):

tak

Dzięki:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1