[php] obiektowe podejscie do MySQL

0

mam kod

nizej aktualny kod

ten kod powinien zwracac liczbe rekordow co do ktorych jestem przekonany ze jest 17. To zapytanie SQL zwraca w monitorze MySQL-a ze jest ich 17. A wypisuje mi sie nic (czyli null, niezainicjowana zmienna)

nie mam pojecia dlaczego?

prosze o pomoc

0

WHERE username = 'l'masz 17 rekordów spełniających ten warunek czy 17 w sumie?

0

17 w sumie tzn COUNT(id) zwroci 17

0

ale juz kod taki:

ale juz kod

	$db = new mysqli(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
	
		var_dump($db->query);

zwraca NULL

0

Bo nie wykonałeś zapytania? query to funkcja, nie zmienna.

0

racja, wtakim razie dostaje

bool(false)

z

		var_dump($db->query(
				"SELECT COUNT(id) NR" .
				"FROM customers " .
				"WHERE username = 'l'"
			));

ale dlaczego?? :(
samo zapytanie zwraca ze 17...

0

Moze masz jakis blad w zapytaniu. Zobacz

echo $db->error;

Samo false oznacza, ze zapytanie nieudane - bo nie do konca wiem o co pytasz piszac 'dlaczego' ;)

0

czesciowo miales racje bo powinna byc spacja po NR, ale po usunieciu spacji

<?php


	DEFINE ('DB_USER', 'root');
	DEFINE ('DB_PASSWORD', '');
	DEFINE ('DB_HOST', 'localhost');
	DEFINE ('DB_NAME', 'aircraft');

		$db = new mysqli(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
	
		
			$result = $db->query(
				"SELECT COUNT(id) NR " .
				"FROM customers " .
				"WHERE username = 'l'"
			);
			
			$tab = $result->fetch_assoc;
			
			//echo $tab['NR'];

			var_dump($db->query(
				"SELECT COUNT(id) NR " .
				"FROM customers " .
				"WHERE username = 'l'"
			));
			
?>

powyzszy kod zwraca tylko

object(mysqli_result)#3 (0) { }
</image>

0

Ech... a zagladales w ogole w dokumentacje mysqli? Znowu nie te argumenty...

0

chociaż powiedz która linia... wszystkie zastosowania mysqli w tym skrypcie sa tak banalnie oczywiste ze.. nie widze błędu

przy połączeniu w manualu jest:

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

czyli ok

natomiast co do query to to samo

$result = $mysqli->query("SELECT Name FROM City LIMIT 10");

argumenty wygladaja na to ze sa ok

to musi byc cos po wyknaniu selecta bo przeciez inserty i updat'e -y dzialaja

0

Ale ja mowie o zagladnieciu do dokumentacji !

http://www.php.net/manual/pl/function.mysqli-query.php

Metoda query ma 2 parametry, tresc zapytania jest drugim z nich...

0

sprawdzalem, ten kod:

<?php

	DEFINE ('DB_HOST', 'localhost');
	DEFINE ('DB_USER', 'root');
	DEFINE ('DB_PASSWORD', '');
	DEFINE ('DB_NAME', 'aircraft');

		$db = new mysqli(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
	
		
			$result = $db->query(
				"SELECT COUNT(id) NR " .
				"FROM customers " .
				"WHERE username = 'l'", MYSQLI_USE_RESULT);
			
			echo $db->error;
				
			$tab = $result->fetch_assoc;
			
			echo $tab['NR'];


			echo var_dump($db->query(
				"SELECT COUNT(id) NR " .
				"FROM customers " .
				"WHERE username = 'l'", MYSQLI_USE_RESULT));
?>

zwraca tez

bool(false)

0

A $db->error nic teraz nie pokazuje? Zapytanie jest na 100% dobrze?

0

user image

error nic, zeby bylo weselej to INSERT I UPDATE działają

a moze jakiejs biblioteki nie łąduje albo czegos nie mam wlaczonego... hmm

0

jezeli ktos moze sprawdzic u siebie, czy tylko ja tak mam, to jest SQL:

CREATE TABLE customers (
id int(10) unsigned NOT NULL auto_increment,
username varchar(100) NOT NULL,
password varchar(32) NOT NULL,
email varchar(100) NOT NULL,
address varchar(300) NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM AUTO_INCREMENT=28 DEFAULT CHARSET=utf8 AUTO_INCREMENT=28 ;

INSERT INTO customers VALUES (5, 'l', '4b43b0aee35624cd95b910189b3dc231', 'wew@fs', 'werwr wer');
INSERT INTO customers VALUES (4, 'l', '4b43b0aee35624cd95b910189b3dc231', 'wew@fs', 'werwr wer');
INSERT INTO customers VALUES (6, 'l', '4b43b0aee35624cd95b910189b3dc231', 'wew@fs', 'werwr wer');

kod jest w jednym z ostatnich moich postow

0
  1. fetch_assoc to też funkcja, więc ().
0

tak teraz jest ok, mialem dwa bledy ktore pomogliscie mi znalezc ale dopiero teraz obydwa zastosowalem, dzieki za wytrwalosc w odpowiedziach i pomoc

0

@nav: Geez, skupialem sie na tym query... [glowa] ;)

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