Zapisywanie rekordów do bazy danych

Zapisywanie rekordów do bazy danych

Wątek przeniesiony 2014-05-15 15:06 z PHP przez dzek69.

K1
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 11 lat
  • Postów:19
0
Kopiuj
<?php
function connect() {
$host = 'localhost';
$user = 'root';
$pass = 'qaz';
$db_name = 'test';
@msql_connect($host, $user, $pass) or die('brak polaczenia z msql');
@msql_select_db($db_name) or die('brak polaczenia z baza danych');
}
?>



<?php 
$link = mysql_connect("test", "root", "");
mysql_select_db("test");
include('includes/connect.php');

// odbieramy dane z formularza 
$imie = $_POST['imie'];
$nazwisko = $_POST['nazwisko'];


if($imie and $nazwisko) {
 $query = mysql_query("INSERT INTO test VALUES imie='$imie' , nazwisko='$nazwisko'");
 if($query) echo "Rekord zostal wyslany";
 else echo "nie udalo sie wyslac";
 }
 ?>
 <html>
 <head>
 <title>Dane - formularz</title>
 </head>
 <body>
 <form action="" method="post">
 imie:<br />
 <input type="text" name="imie" /><br />
 nazwisko:<br />
 <input type="text" name="nazwisko" /><br />
<input type="submit"  value="dodaj" />
</form>
</body>
</html> 

mam utworzoną bazę danych o nazwie test, a w niej tabele o nazwie kwiat w której znajduje sie pole imie i nazwisko .
gdzie jest błąd w tym kodzie? Proszę o pomoc.
W formularzu wpisuje te dane gdy nacisne dodaj dane sie gdzies wysylaja ale na pewno nie do mojej bazy danych...

edytowany 1x, ostatnio: dzek69
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:6 dni
  • Lokalizacja:Rzeszów
0

może nie wyciszaj błędów małpą, to się dowiesz?

skoro masz jakieś echo na sukcesie i błędzie - to czy cokolwiek się wyświetla?

i czy na pewno chodziło Ci o mSQL, a nie MySQL?


K1
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 11 lat
  • Postów:19
0

literówka :D sorki :D
no właśnie nic się nie wyświetla :D

edytowany 2x, ostatnio: kubcio1906
K1
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 11 lat
  • Postów:19
0

usunąłem małpki i dalej nic nie wyświetla ..

mr_jaro
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
0

po pierwsze nie używaj mysql_ tylko mysqli_ bo te pierwsze jest juz usunięte z języka w php 5.5
http://www.php.net/manual/en/book.mysqli.php


It's All About the Game.
edytowany 1x, ostatnio: mr_jaro
K1
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 11 lat
  • Postów:19
0
Kopiuj
 <?php
function connect() {
$host = 'localhost';
$username = 'root';
$passwd = 'qaz';
$db_name = 'test';
msqli_connect($host, $user, $passwd, $db_name) or die('brak polaczenia z msql');
msqli::select_db($db_name) or die('brak polaczenia z baza danych');
}
?>

<?php 
$link = mysqli::__construct([string $host = ini_get("mysqli.localhost") [,
 string $username = int_get("mysqli.root") [,string $passwd = ini_get (mysqli.qaz)
[, string $db_name = "test" [, string $port = int_get("mysqli.3306") ]]]]])

// odbieramy dane z formularza 
$imie = $_POST['imie'];
$nazwisko = $_POST['nazwisko'];


if($imie and $nazwisko) {
 $query = mysqli::query("INSERT INTO kwiat VALUES imie='$imie' , nazwisko='$nazwisko'");
 if($query) echo "Rekord zostal wyslany";
 else echo "nie udalo sie wyslac";
 }
 ?>
 <html>
 <head>
 <title>Dane - formularz</title>
 </head>
 <body>
 <form action="" method="post">
 imie:<br />
 <input type="text" name="imie" /><br />
 nazwisko:<br />
 <input type="text" name="nazwisko" /><br />
<input type="submit"  value="dodaj" />
</form>
</body>
</html>

niestety ale dalej nie działa ... :(

Kopiuj
$query = mysqli::query("INSERT INTO kwiat VALUES imie='$imie' , nazwisko='$nazwisko'");

tam gdzie jest napisane "kwiat" to ma być nazwa tabelki tak ? :D

dodanie znacznika <code class="php"> - furious programming

edytowany 1x, ostatnio: flowCRANE
fourfour
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 9 lat
  • Postów:627
0
kubcio1906 napisał(a):
Kopiuj
 <?php
> $query = mysqli::query("INSERT INTO kwiat VALUES imie='$imie' , nazwisko='$nazwisko'");
> 
> 
> tam gdzie jest napisane "kwiat" to ma być nazwa tabelki tak ? :D


To jest żart? :)
flowCRANE
Jeśli już przyłaczasz się do dyskusji, to bądź łaskaw udzielać sensownych odpowiedzi; Głupie docinki pozostaw dla siebie, bo jak byś nie zauważył - to jest dział NEWBIE, w którym pyta się o podstawowe zagadnienia, a pytający nie muszą być geniuszami kodu; Więc zamiast docinać pytaczowi - pomóż mu rozwiązać problem;
fourfour
Pomogłem mu dwa posty niżej dając linka do wyjaśnienia podstaw - o 10:30, później o 13:22 podając dodatkowe informacje. . Nikt nie jest geniuszem, to fakt. Każdy ma jednak dostęp do googli i takie podstawy powinien sprawdzić sam (potwierdzając chęć zdobycia wiedzy pisząc choćby coś w stylu - "tutaj http://gdzies.w.pl/ wyczytałem, że po INSERT INTO podaje się nazwę tabeli - czy to prawda?"). Nawet w dziale NEWBIE.
flowCRANE
I co z tego, że podałeś linka dwa posty niżej, skoro w tym poście naśmiewasz się z pytacza i prowokujesz do awantury; Można podać w poście sam link do kursu, bez trolowania; Następne tego typu posty będą kasowane;
fourfour
Ja nie widzę tu żadnej prowokacji do awantury. No ale ja młody tu jestem, i zwykły newbie-szarak, więc ... masz rację :) Przepraszam i obiecuję poprawę :)
K1
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 11 lat
  • Postów:19
0

no gościu .. uczę się i nie jestem jakimś wybitnie uzdolnionym informatykiem .. kto pyta nie błądzi... więc pytam kogoś kto się na tym zna żeby mi pomógł czy coś ..

fourfour
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 9 lat
  • Postów:627
0

No gościu... to zajrzyj np. tutaj http://www.sqlpedia.pl/select-definiowanie-wyniku/ ... czy coś... :)

edytowany 1x, ostatnio: fourfour
K1
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 11 lat
  • Postów:19
0

no :D i dziękuje :D poczytam i w razie w odezwę się jeszcze :D

K1
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 11 lat
  • Postów:19
0

no ale jak zrobić żeby formularz który mam zrobiony wysyłał do bazy danych i zapisywał w tabeli imię i nazwisko ...

fourfour
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 9 lat
  • Postów:627
0
K1
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 11 lat
  • Postów:19
0
Kopiuj
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <html>
 <head>
 <title>Serwis ABC</title>
 <meta http-equiv=content-type content="text/html; charset=iso-8859-2">
 <meta http-equiv="Content-Language" content="pl">
 </head>
 
 <body>
 <?php 
 $db_danych='test';
 $logino='root';
 $passwoo='qaz';
 $adresso='127.0.0.1';
 $formularz_dodaj_uzytkownika = '
 <FORM method="POST" action="">
 Imie: <INPUT type="text" name="imie">
 <br />Nazwisko: <INPUT type="text" name="nazwisko">

 <br /><INPUT type="submit" value="Zapisz się!">
 </FORM>
 ';
 if ( !mysql_connect($adresso, $logino, $passwoo) ){
 echo 'Nie moge polaczyc sie z baza danych';
 exit (0);
 }
 if ( !mysql_select_db($db_danych) ) {
 echo 'Blad otwarcia bazy danych';
 exit (0);
 }
 if (isset($_POST["nazwisko"]) ){
 SkorygujZmienneZFormularza($imie,$nazwisko);
 $czy_poprawne = SprawdzDane ($imie, $nazwisko);
 
 if ($czy_poprawne == "dane_ok"){
 $zapytanie = "INSERT INTO 'kwiat' ('UID', 'Imie', 'Nazwisko')";
$zapytanie .= "VALUES ('', '$imie', '$nazwisko')";
$wynik_zapytania = mysql_query($zapytanie);
if(!$wynik_zapytania){
echo("<br /> nie moge dodac rekordu do bazy!<br />");
} else{
echo "Gratulacje zapisales sie na liste";
}
} else{
echo "podales zle dane";
echo"<br />Sprobuj ponownie:";
echo $formularz_dodaj_uzytkownika;
}
} else {
echo "zapisz sie<strong>TERAZ</strong> na liste";
echo $formularz_dodaj_uzytkownika;
}

if ( !mysql_close() ) {
echo 'Nie moge zakonczyc polaczenia z baza';
exit (0);
}
function SkorygujZmienneZFormularza(&$imie,&$nazwisko){
if ( isset($_POST["imie"]) )
$imie = trim($_POST["imie"]);
else
$imie="";
if (isset ($_POST["nazwisko"]) )
$nazwisko = trim($_POST["nazwisko"]);
else
$nazwisko = "";
}
function SprawdzDane($imie, $nazwisko){
if ( ($imie=="") || ($nazwisko=="") )
return "zle_dane";
return "dane_ok";
}
?>
</body>
</html>
 

wyswietla formularz ale i caly dos ...;/

edytowany 1x, ostatnio: kubcio1906
K1
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 11 lat
  • Postów:19
0
Kopiuj
<?php

/*****************************************************************************************
									FUNKCJE POMOCNICZE
*****************************************************************************************/

function InitDbConn()
{ 
	//Konfiguracja połączenia z bazą MySQL
	$szHost 	= 'localhost';
	$szLogin 	= 'root';
	$szPass 	= 'qaz';
	$szDbName 	= 'ola';
	 
	//Połączenie z bazą danych
	$oDbConn 	= mysql_connect( $szHost, $szLogin, $szPass ) or die( 'Błąd: nie udało się nawiązać połączenia z bazą danych.' );
	 
	//Połączenie ze schematem bazy danych
	mysql_select_db( $szDbName ) or die( 'Błąd: nie udało się wybrać schematu bazy danych.' );	 
}//InitDbConn


/*****************************************************************************************
									KOD GŁÓWNY PROGRAMU
*****************************************************************************************/

if( isset( $_POST['submit'] ) ) 
{
	//Inicjalizacja połączenie do bazy danych
	InitDbConn();
	
	//Pobranie zmiennych z formularza
	$iId 	= $_POST['id'];
	$szTxt 	= $_POST['txt'];
	$szDupa = $_POST['dupa'];
	
	//Zapytanie do DB
	$oRes 	= mysql_query('INSERT INTO aqq(id, txt, dupa) VALUES('.$iId.', '.$szTxt.', '.$szDupa.')');
	if( $oRes ) 
		echo '<p>Poprawnie dodano rekord do bazy danych</p>';
	else 
	{
		echo mysql_error();
		echo '<p>Błąd podczas dodawania rekordu do bazy danych !!</p>';
	}//if $oRes
} 
else 
{
	echo '
	<form action="" method="POST">
		txt:<br />
		<input type="text" name="txt" /><br />
		dupa:<br />
		<input type="text" name="dupa" /><br />
		<input name="submit" type="submit" value="dodaj" />
	</form>
	';
}//if $_POST["submit"]

?>

mam takie coś tylko że na stronie wyświetla mi kawałek kodu...

Kopiuj
echo '<p>Poprawnie dodano rekord do bazy danych</p>';
	else 
	{
		echo mysql_error();
		echo '<p>Błąd podczas dodawania rekordu do bazy danych !!</p>';

dodanie znacznika <code class="php"> - furious programming

edytowany 1x, ostatnio: flowCRANE
szalonyfacet
  • Rejestracja:ponad 12 lat
  • Ostatnio:9 miesięcy
  • Lokalizacja:Dąbrowa Górnicza
0

Brakuej ci otwierajacego nawiasu klamrowego "{" tuz przed:

Kopiuj
 echo '<p>Poprawnie dodano rekord do bazy danych</p>';
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)