Skocz do zawartości
michuuu92

Problem z MySQL i bazą danych.

Rekomendowane odpowiedzi

Witam, mam problem z bazą danych. Strone mam na CBA i chciałem dodac skrypt komentarzy.

<?PHP	/* Baza Danych 	-- [		 CREATE TABLE `komentarze` (		`id` BIGINT( 255 ) UNSIGNED NOT NULL AUTO_INCREMENT ,		`wpis_id` BIGINT( 255 ) UNSIGNED NOT NULL ,		`autor` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,		`tytul` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,		`tresc` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,		`data` BIGINT( 255 ) UNSIGNED NOT NULL ,		PRIMARY KEY ( `id` )	) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci 	] -- 	*/		MySQL_Connect("localhost", "root", "");	MySQL_Select_DB("komentarze");		class Komentarze {			private function sprawdz ($id) {			$id = intval(mysql_escape_string($id));			$q = MySQL_Query("SELECT `id` FROM `komentarze` WHERE `id`=$id");			if(MySQL_Num_Rows($q) > 0){				return TRUE;			}else{				return FALSE;			}		}		public function dodaj ($autor, $tytul, $tresc, $wpis_id) {			$autor = mysql_escape_string($autor);			$tytul = mysql_escape_string($tytul);			$tresc = mysql_escape_string($tresc);			$wpis_id = intval(mysql_escape_string($wpis_id));			$q = MySQL_Query("INSERT INTO `komentarze` (`wpis_id`, `autor`,`tytul`,`tresc`, `data`) VALUES ({$wpis_id}, '{$autor}', '{$tytul}', '{$tresc}', ".time().")");			if($q){				return TRUE;			}else{				return FALSE;			}		}				public function usun ($id) {			$id = intval(mysql_escape_string($id));			if($this->sprawdz($id)){				$q = MySQL_Query("DELETE `komentarze` WHERE `id`=$id");				if($q) return TRUE;			}else{				return FALSE;			}		}				public function wyswietl ($wpis_id) {			$wpis_id = intval(mysql_escape_string($wpis_id));			$tablica = array();			$q = MySQL_Query("SELECT `autor`, `tytul`, `tresc`, `data` FROM `komentarze` WHERE `wpis_id`={$wpis_id} ORDER By `data` DESC");				while($komentarz = MySQL_Fetch_Array($q)){					$tablica[] = array(						"autor" => $komentarz["autor"],						"tytul" => $komentarz["tytul"],						"tresc" => $komentarz["tresc"],						"data" => $komentarz["data"]						);				}			return $tablica;		}	}?><META http-equiv=Content-Type content="text/html; charset=utf-8"><?PHP	$id_wpisu = $_GET["wpis"];	$kom = new Komentarze;	if($_POST["wpis_id"] > 0){		$kom->dodaj($_POST["nick"], $_POST["tytul"], $_POST["tresc"], $_POST["wpis_id"]);		echo "<font color=red><B>Komentarz został dodany.</B></font><br><br>";	}		foreach($kom->wyswietl($id_wpisu) as $komentarz){		echo "Tytul: <B>{$komentarz["tytul"]}</B>, napisany przez: <B>{$komentarz["autor"]}</B>, ".date("d-m-Y, H:i", $komentarz["data"])."<BR>".nl2br($komentarz["tresc"])."<BR><BR>";	}?><h1>Komentarze</h1>	<FORM action="" method="POST">		<input type="hidden" name="wpis_id" value="<?=$id_wpisu;?>">		Twój Nick: <input type="text" name="nick"><BR>		Tytul Komentarza: <input type="text" name="tytul"><BR>		Treść: <textarea name="tresc"></textarea>		<input type="submit" value="DODAJ!">	</FORM>
Na samej górze jest niby podane wszystko ale przy próbie utworzenia bazy danych pokazuje błąd: #1046 - No database selected Jak mam dodać bazę danych? Skrypt pisał mi kumpel niestety już nie zdążył mi wytłumaczyć co i jak. Powidział tylko ze muszę utworzyć bazę danych a potem połączyć ja ze skryptem. Edytowane przez michuuu92

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A nie widzicie tych linijek:

MySQL_Connect("localhost", "root", "");        MySQL_Select_DB("komentarze");
??

Tylko IMO to powinno być przed tworzeniem tabeli. Poza tym o ile pamiętam, to na CBA wymagana jest zewnętrzna baza danych.

Edytowane przez stivo

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A nie widzicie tych linijek:

 

A Ty nie widzisz tych:

Chodzi o samą baze SQL bo to w niej wywala mi błąd. Nie uruchomiłem jeszcze PHP bo nie mogę utworzyć bazy danych w SQL.

 

??

 

Do autora:

Używając phpMyAdmin utwórz bazę danych i wybierz tą bazę (wybiera się z menu po lewej). Dopiero wtedy możesz wkleić kod SQL tworzący tabelę.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Po 4 godzinach siedzenia z kumplem udało nam się, może wyglądem to to nie powala jeszcze. Ale działa. CBA jako serwer sporo problemów narobiło.

Blog

tak to wygląda.

<?PHP               /* Baza Danych         -- [                 CREATE TABLE `komentarze` (                `id` BIGINT( 255 ) UNSIGNED NOT NULL AUTO_INCREMENT ,                `wpis_id` BIGINT( 255 ) UNSIGNED NOT NULL ,                `autor` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,                `tytul` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,                `tresc` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,                `data` BIGINT( 255 ) UNSIGNED NOT NULL ,                PRIMARY KEY ( `id` )        ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci         ] --         */                if (!(MySQL_Connect("mysql.cba.pl", "locomisiek", "")&& MySQL_Select_DB("bike_travel_cba_pl"))) {die('brak polaczenia z baza mysql');}                class Komentarze {                        private function sprawdz ($id) {                        $id = intval(mysql_escape_string($id));                        $q = MySQL_Query("SELECT `id` FROM `komentarze` WHERE `id`=$id");                        if(MySQL_Num_Rows($q) > 0){                                return TRUE;                        }else{                                return FALSE;                        }                }                 public function dodaj ($autor, $tytul, $tresc, $wpis_id) {                        $autor = mysql_escape_string($autor);                        $tytul = mysql_escape_string($tytul);                        $tresc = mysql_escape_string($tresc);                        $wpis_id = intval(mysql_escape_string($wpis_id));                        $q = MySQL_Query("INSERT INTO `komentarze` (`wpis_id`, `autor`,`tytul`,`tresc`, `data`) VALUES ({$wpis_id}, '{$autor}', '{$tytul}', '{$tresc}', ".time().")");                        if($q){                                return TRUE;                        }else{                                return FALSE;                        }                }                                public function usun ($id) {                        $id = intval(mysql_escape_string($id));                        if($this->sprawdz($id)){                                $q = MySQL_Query("DELETE `komentarze` WHERE `id`=$id");                                if($q) return TRUE;                        }else{                                return FALSE;                        }                }                                public function wyswietl ($wpis_id) {                        $wpis_id = intval(mysql_escape_string($wpis_id));                        $tablica = array();                        $q = MySQL_Query("SELECT `autor`, `tytul`, `tresc`, `data` FROM `komentarze` WHERE `wpis_id`={$wpis_id} ORDER By `data` DESC");                                while($komentarz = MySQL_Fetch_Array($q)){                                        $tablica[] = array(                                                "autor" => $komentarz["autor"],                                                "tytul" => $komentarz["tytul"],                                                "tresc" => $komentarz["tresc"],                                                "data" => $komentarz["data"]                                            );                                }                        return $tablica;                }                 public function WyswietlNaWWW($wpis_id) {                         foreach($this->wyswietl($wpis_id) as $komentarz){                                echo "Tytul: <B>{$komentarz["tytul"]}</B>, napisany przez: <B>{$komentarz["autor"]}</B>, ".date("d-m-Y, H:i", $komentarz["data"])."<BR>".nl2br($komentarz["tresc"])."<BR><BR>";                        }                          echo '<h1>Komentarze</h1><FORM action="" method="POST"><input type="hidden" name="wpis_id" value="' . $wpis_id . '"/>Twój Nick: <input type="text" name="nick"/><BR/>Tytul Komentarza: <input type="text" name="tytul"/><BR/>Tresć: <textarea name="tresc"></textarea><input type="submit" value="DODAJ!"/></FORM>';                 }          } ?>
a tutaj dorzucam kod

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...