Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Problem z dodaniem rekordu
Forum PHP.pl > Forum > Przedszkole
plmorpheus
Mam problem z dodawaniem rekordu do mysqla - próbowałem na różne sposoby:

Tak:

Kod
<?php
echo "<html>

   <head>
     <title></title>
   </head>

   <body>";

if ($_GET['akcja']=="zapodaj") {
$user = "root";
   $pass = "vertrigo";
   $database = "baza2";

   mysql_connect ("localhost", "$user", "$pass") or die ("Brak połączenia z MySQL");
   mysql_select_db ("$database") or die ('Błąd połączenia z bazą'.': '.mysql_error());

$imie = $_POST['imie'];
$nazwisko = $_POST['nazwisko'];
$telefon = $_POST['telefon'];

$query = mysql_query("INSERT INTO kstel SET imie='$imie', nazwisko='$nazwisko', telefon='$telefon')");
mysql_query($query);
if (!$query) {
echo "Bład wpisu nie dodano ";
} else {
echo " Wpis został dodany !<br><br>Wprowadzone dane:<br>Imie: ".$imie."<br>Nazwisko: ".$nazwisko."<br>Telefon: ".$telefon."";
}

} else {
echo "   <FORM METHOD='POST' action='ok.php?akcja=zapodaj'>
   Imię: <INPUT TYPE='text' NAME='imie'><BR>
   Nazwisko: <INPUT TYPE='text' NAME='nazwisko'><BR>
   Telefon: <INPUT TYPE='text' NAME='telefon'><BR>
   <INPUT TYPE='submit' VALUE='Zapodaj'>
   </FORM>";
}




echo "</body>
</html>";
?>


I tak:

plik1
Kod
<html>

<head>
  <title></title>
</head>

<body>


<form action="baza5.php" method="post">
imię:<br />
<input type="text" name="imie" /><br />
nazwisko:<br />
<input type="text" name="nazwisko" /><br />
telefon:<br />
<input type="text" name="telefon" /><br />
<input type="submit" value="dodaj" />
</form>



</body>

</html>



plik2
Kod
<?php
// odbieramy dane z formularza
$imie = $_POST['imie'];
$nazwisko = $_POST['nazwisko'];
$telefon = $_POST['telefon'];

if($imie and $nazwisko and $telefon) {

    // łączymy się z bazą danych
    $connection = @mysql_connect('localhost', 'root', 'vertrigo')
    or die('Brak połączenia z serwerem MySQL');
    $db = @mysql_select_db('baza2', $connection)
    or die('Nie mogę połączyć się z bazą danych');

    // dodajemy rekord do bazy
    $ins = @mysql_query("INSERT INTO baza2 SET imie='$imie', nazwisko='$nazwisko', telefon='$telefon'");

    if($ins) echo "Rekord został dodany poprawnie";
    else echo "Błąd nie udało się dodać nowego rekordu";

    mysql_close($connection);
}

?>


Przy każdym z tych sposobów wyświetla mi błąd (w pierwszym "Błąd wpisu nie dodano", w drugim "Błąd nie udało się dodać nowego rekordu")

Nie wiem gdzie jest problem - połączenie z bazą jest (nie ma żadnego błędu), loguje się do bazy poprawnie, problemu z prawami raczej nie ma (root).....

HELP!!
Grzyw
@ Przepraszam za głupoty, jak mam w stopce - bywam mylny:)
phpion
@Grzyw:
Może poczytaj o składni INSERT zanim napiszesz takie głupoty.

@plmorpheus:
Usuń wszystkie wyciszenia błędów (@) sprzed funkcji i sprawdź czy nie dostaniesz żadnego komunikatu. Jeśli nie to wyświetl sobie na ekran jakie zapytanie otrzymujesz w efekcie:
  1. <?php echo "INSERT INTO baza2 SET imie='$imie', nazwisko='$nazwisko', telefon='$telefon'"; ?>


// EDIT:
Teraz zauważyłem:
1. Plik:
zmień:
  1. <?php
  2. mysql_connect ("localhost", "$user", "$pass") or die ("Brak połączenia z MySQL");
  3.  mysql_select_db ("$database") or die ('Błąd połączenia z bazą'.': '.mysql_error());
  4. ?>

na:
  1. <?php
  2. $connection = mysql_connect ("localhost", "$user", "$pass") or die ("Brak połączenia z MySQL");
  3.  mysql_select_db ("$database", $connection) or die ('Błąd połączenia z bazą'.': '.mysql_error());
  4. ?>


2. Plik:
  1. <?php
  2. $db = @mysql_select_db('baza2', $connection)
  3. or die('Nie mogę połączyć się z bazą danych');
  4.  
  5. // dodajemy rekord do bazy
  6. $ins = @mysql_query("INSERT INTO baza2 SET imie='$imie', nazwisko='$nazwisko', telefon='$telefon'");
  7. ?>

w INSERT musisz podać nazwę tabeli, a nie bazy (baza2 to chyba właśnie nazwa bazy; wpisz kstel zamiast baza2).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.