Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [php][mysql] INSERT
PanGuzol
post 7.07.2006, 12:09:44
Post #1





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

Ostrzeżenie: (0%)
-----


Witam.
Napotkałem problem z poleceniem INSERT.
Otóż niedziała mi ono. Każde zapytanie nie udaje sie, a korzystam z roota żeby niebyło że brak uprawnień.
W phpmyadminie działa mi ale w tych co tam sobie ja stworzyłem nie działa.

  1. <?php
  2. $query = "INSERT INTO produkty VALUES ( '' , '$name' , '$description' , '$price' , '$cat')";
  3. $result = $db -> query($query);
  4. ?>

tak wyglądają umnie te zapytania z tego co pisze wksiażce z której korzystam to wszystko jest ok no ale jednak nie pasuje.
Polecenie SELECT działa ale z INSERT są wałki.


--------------------
Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej"
"NIE kradnij, rząd nielubi konkurencji"
Go to the top of the page
+Quote Post
Jojo
post 7.07.2006, 12:11:48
Post #2





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


A może byś jakiś błąd pokazał?
mysql_error" title="Zobacz w manualu php" target="_manual


--------------------
Rozwój cywilizacji informatycznej to wyścig między programistami, którzy wytwarzają coraz łatwiejsze
programy użytkowe dla idiotów, a światem produkującym coraz lepszych gatunkowo idiotów.

Blog: Małolepszy.info
Go to the top of the page
+Quote Post
Cysiaczek
post 7.07.2006, 12:11:52
Post #3





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Czy jesteś pewien, ze inicjujesz dobrze połączenie z bazą?


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
PanGuzol
post 7.07.2006, 12:20:39
Post #4





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

Ostrzeżenie: (0%)
-----


Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in d:\Apache\Apache\htdocs\sklep\zamuwienie.php on line 45

oto treść błędu


--------------------
Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej"
"NIE kradnij, rząd nielubi konkurencji"
Go to the top of the page
+Quote Post
Jojo
post 7.07.2006, 12:25:47
Post #5





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


A przeczytałeś to co jest pod linkiem, który Ci podałem? Użyj tego i pokaż nam błąd MySQl'a.

Ten post edytował Jojo 7.07.2006, 12:26:06


--------------------
Rozwój cywilizacji informatycznej to wyścig między programistami, którzy wytwarzają coraz łatwiejsze
programy użytkowe dla idiotów, a światem produkującym coraz lepszych gatunkowo idiotów.

Blog: Małolepszy.info
Go to the top of the page
+Quote Post
PanGuzol
post 7.07.2006, 12:30:41
Post #6





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

Ostrzeżenie: (0%)
-----


Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource <-- to zwruciła funkcja mysql_error()

Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource <-- a to funkcja mysql_errno()


--------------------
Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej"
"NIE kradnij, rząd nielubi konkurencji"
Go to the top of the page
+Quote Post
Jojo
post 7.07.2006, 12:32:19
Post #7





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Podajesz do tej funkcji zły parametr. Spróbuj ją wywołać bez parametru.

Ten post edytował Jojo 7.07.2006, 12:32:50


--------------------
Rozwój cywilizacji informatycznej to wyścig między programistami, którzy wytwarzają coraz łatwiejsze
programy użytkowe dla idiotów, a światem produkującym coraz lepszych gatunkowo idiotów.

Blog: Małolepszy.info
Go to the top of the page
+Quote Post
PanGuzol
post 7.07.2006, 12:35:25
Post #8





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

Ostrzeżenie: (0%)
-----


Jak ją wywołuje bez parametru to nie zwraca żadnego wyniku


--------------------
Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej"
"NIE kradnij, rząd nielubi konkurencji"
Go to the top of the page
+Quote Post
Jojo
post 7.07.2006, 12:44:59
Post #9





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


W takim razie wygląda to na problem z połączeniem z bazą. Pokaż jakiś trochę większy kawałek kodu, to może coś się uda wywnioskować.

Czy ta klasa do obsługi bazy danych, którą tam używasz jest Twojego autorstwa, czy to jakiś szerzej znany system?


--------------------
Rozwój cywilizacji informatycznej to wyścig między programistami, którzy wytwarzają coraz łatwiejsze
programy użytkowe dla idiotów, a światem produkującym coraz lepszych gatunkowo idiotów.

Blog: Małolepszy.info
Go to the top of the page
+Quote Post
PanGuzol
post 7.07.2006, 12:50:00
Post #10





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

Ostrzeżenie: (0%)
-----


  1. <?php
  2. function add_cat()
  3. {
  4. $name = $_POST['name'];
  5. if(!empty($name))
  6. {
  7. global $db;
  8. $query = "INSERT INTO kategorie VALUES ('' , '$name')";
  9. $result = $db -> query($query);
  10. echo mysql_errno() . ": " . mysql_error() . "n";
  11. if($result)
  12. {
  13. echo "Kategorie dodano";
  14. }
  15. else
  16. {
  17. echo "Operacja dodania kategori zakończona niepowodzeniem prosze sprobować później";
  18. }
  19. }
  20. else
  21. {
  22. echo "Formularz wypełniony nieprawidłowo";
  23. }
  24. }
  25. ?>

To jest jedno z miejsc gdzie wystepuje błąd. Wynikiem wywołania tej funkcji jest wyświetlenie napisu "Operacja dodania kategori zakończona niepowodzeniem prosze sprobować później"

Korzystam z wbudowanej klasy

  1. <?
  2. $host = 'localhost';
  3. $login = 'root';
  4. $pass = 'mojehaslo';
  5. $db_name = 'sklep';
  6. $db = new mysqli($host, $login, $pass, $db_name);
  7. $db -> autocommit(true);
  8. ?>

Tak wygląda plik config.inc.php jest on dołanczany do wszystkich plików.
Połaczenie działa bo polecenie SELECT działa, INSERT niedziała, UPDATE też nie działa

Ten post edytował PanGuzol 7.07.2006, 12:58:19


--------------------
Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej"
"NIE kradnij, rząd nielubi konkurencji"
Go to the top of the page
+Quote Post
Jojo
post 7.07.2006, 12:59:46
Post #11





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Skoro korzystasz z obiektowej wersji mysqli, to powinieneś napisać:
  1. <?php
  2. echo $db->error;
  3. ?>


--------------------
Rozwój cywilizacji informatycznej to wyścig między programistami, którzy wytwarzają coraz łatwiejsze
programy użytkowe dla idiotów, a światem produkującym coraz lepszych gatunkowo idiotów.

Blog: Małolepszy.info
Go to the top of the page
+Quote Post
PanGuzol
post 7.07.2006, 13:05:26
Post #12





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

Ostrzeżenie: (0%)
-----


Out of range value adjusted for column 'catID' at row 1

oto wynik pole catID jest z opcją auto_increment i jest kluczem podstawowymw tej tabeli
a UPDATE jednak działa ponownie cudzysłowów zapomniłem :/

Ten post edytował PanGuzol 7.07.2006, 13:07:47


--------------------
Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej"
"NIE kradnij, rząd nielubi konkurencji"
Go to the top of the page
+Quote Post
Jojo
post 7.07.2006, 13:07:55
Post #13





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Prawdopodobnie używasz MySQL 5.x. Spróbuj nie podawać w insertach wartości dla pola z auto_increment, lub jako tą wartość wpisać null.


--------------------
Rozwój cywilizacji informatycznej to wyścig między programistami, którzy wytwarzają coraz łatwiejsze
programy użytkowe dla idiotów, a światem produkującym coraz lepszych gatunkowo idiotów.

Blog: Małolepszy.info
Go to the top of the page
+Quote Post
PanGuzol
post 7.07.2006, 13:11:48
Post #14





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

Ostrzeżenie: (0%)
-----


Dzięki wielkie działa biggrin.gif

ehh już sie cieszyłem że szystko działa a tu kolejny error tym razem treść brzmi

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERET INTO zamowienia_info VALUES (NULL , '4' , 1061 , '2006-07-07')' at line 1

PS: jest jakiś poradnik gdzie jest napisane jak czytać te błędy??

Ten post edytował PanGuzol 7.07.2006, 13:52:26


--------------------
Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej"
"NIE kradnij, rząd nielubi konkurencji"
Go to the top of the page
+Quote Post
Jojo
post 7.07.2006, 14:08:13
Post #15





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


W manualu MySQL błędy są chyba opisane. Ten akurat dotyczy błędu w składni zapytania. Jest literówka INSERET zamiast INSERT.


--------------------
Rozwój cywilizacji informatycznej to wyścig między programistami, którzy wytwarzają coraz łatwiejsze
programy użytkowe dla idiotów, a światem produkującym coraz lepszych gatunkowo idiotów.

Blog: Małolepszy.info
Go to the top of the page
+Quote Post
XoX
post 28.08.2007, 14:18:29
Post #16





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.03.2007

Ostrzeżenie: (0%)
-----


Mam podobny problem:(
Wykonują mi się wszystkie zapytania oprocz tych z INSERT INTO dlatego podejrzewam ze to ja robie jakis blad:(
Oto fragment kodu w ktorym mam problem
  1. <?php
  2. require_once('funkcje.php');
  3.  
  4. if((!isset($_SESSION['user']))&&(!isset($_SESSION['pass'])))
  5. brak_logowania();
  6. else
  7. {
  8. naglowek();
  9. ?>
  10.  
  11. <head><title>zgloszenia</title>
  12. </head>
  13. <body background="img/tlo1.gif" />
  14. <center><img src="img/login.jpg">
  15. <br>
  16. <a href="uzytkownicy.php?tyl=wroc">Wróć</a>
  17. <?php
  18. if(isset($_GET['tyl']) && $_GET['tyl'] == 'wroc'){
  19. ?>
  20. <script LANGUAGE="JavaScript">
  21. if(top.frames.length==0) {
  22. document.write("<B><center>Trwa ładowanie strony... proszę czekać...</center></B>");
  23. window.clear;
  24.  window.location.href="sukces.php";
  25. } else {
  26. document.write("Oj!! coś nie tak!!");
  27. top.frames[1].location.href="blad.htm";
  28. }
  29. </SCRIPT>
  30. <?php
  31.  
  32. }
  33.  
  34. $nazwa = $_POST['nazwa'];
  35. $haslo = $_POST['haslo'];
  36. $uprawnienia = $_POST['uprawnienia'];
  37.  
  38.  
  39. if(!isset($nazwa)&&!isset($haslo)&&!isset($uprawnienia))
  40. {
  41. ?>
  42. <center><br>
  43. <form method = "post" action = "user.php">
  44. <table border = "1">
  45. <tr>
  46. <th> Nazwa uzytkownika</th>
  47. <td> <input type = "text" name="nazwa"> </td>
  48. </tr>
  49. <tr>
  50. <th> Hasło </th>
  51. <td> <input type = "password" name="haslo"> </td>
  52. </tr>
  53. <tr>
  54. <th> Uprawnienia </th>
  55. <td> <select name="uprawnienia">
  56.  <option value="0">ograniczone</option>
  57.  <option value="1">pełne</option>
  58.  </select> </td>
  59. </tr>
  60. <tr>
  61. <td colspan = "2" align = "center"> <input type = submit value = "Dodaj"></td>
  62. </tr>
  63. </form></center>
  64.  
  65. <?php
  66.  
  67. }
  68. else
  69. {
  70. $mysql = mysqli_connect('localhost','a','b');
  71. if(!$mysql)
  72. {
  73. echo 'Nie można połączyć się z serwerem.';
  74. }
  75.  
  76. $wybrana = mysqli_select_db($mysql, 'mp');
  77. if(!wybrana)
  78. {
  79. echo 'Błąd! Nie można znaleźć bazy danych!';
  80. }
  81.  
  82. $zapytanie = "select count(*) from uzytkownicy where
  83. uzytkownik = '$nazwa'";
  84.  
  85. $wynik = mysqli_query( $mysql, $zapytanie );
  86. if(!$wynik)
  87. {
  88. echo 'Błąd! Nie można wykonać kwerendy!';
  89. }
  90.  
  91. $wiersz = mysqli_fetch_row( $wynik);
  92. $ile = $wiersz[0];
  93. if($ile>0)
  94. {
  95. echo 'podany uzytkownik juz istnieje!!';
  96. }
  97.  
  98.  
  99. $moja_kw = "insert into uzytkownicy(id, uzytkownik, haslo, uprawnienia) values(null, '$nazwa', sha1('$haslo'), $uprawnienia)";
  100. $wyk_zapyt = mysqli_query( $mysql, $moja_kw );
  101. //echo '<br>'.$moja_kw;
  102. //echo mysql_error();
  103. if(!$wyk_zapyt)
  104. {
  105. echo '<br>Bład! Dodanie uzytkownika nie powiodlo sie!';
  106. }
  107. else{
  108. echo '<br>Dodano uzytkownika!';
  109. header('Location: uzytkownicy.php');
  110. }
  111.  
  112. }
  113.  
  114. ?>
  115.  
  116. </body>
  117. </html>
  118. <?php
  119. }
  120. ?>

Wyrzuc ami blad ->"Bład! Dodanie uzytkownika nie powiodlo sie!"
Jezeli moglby ktos znalezc jakis blad albo cos madrego doradzic to prosze o pomoc
uzywam wamp5 1.7.2

Ten post edytował XoX 28.08.2007, 14:20:43
Go to the top of the page
+Quote Post
Kicok
post 28.08.2007, 18:27:52
Post #17





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

Ostrzeżenie: (0%)
-----


Zamiast mysql_error" title="Zobacz w manualu PHP" target="_manual użyj mysqli_error" title="Zobacz w manualu PHP" target="_manual, odkomentuj tą linijkę i sprawdź, jaki błąd wyrzuci.


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
XoX
post 28.08.2007, 19:15:24
Post #18





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.03.2007

Ostrzeżenie: (0%)
-----


biggrin.gif
INSERT command denied to user 'mp'@'localhost' for table 'uzytkownicy'
oki to teraz prosze mi powiedziec jak to zmienic??
dostep do bazy mam jako root oczywiscie:)
Go to the top of the page
+Quote Post
XoX
post 29.08.2007, 07:49:04
Post #19





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.03.2007

Ostrzeżenie: (0%)
-----


Oki już sobie poradziłem
Dzięki Kicok naprawdę pomogłeś smile.gif
Go to the top of the page
+Quote Post
-eirik-
post 17.10.2007, 20:48:40
Post #20





Goście







Witam,
ja mam deczko inny problem, ale też przy okazji INSERTA.
Otóż odpalenie mysql_query z zapytaniem SQL, w którym uzyte są nazwy zmiennych pobieranych z forumlarza jako parametrem powoduje dodanie rekordu z pustymi wartościami. Jak wpiszę te wartości bezpośrednio do skryptu - wszystko gra. Fragment kodu:

  1. <?php
  2. @mysql_select_db($database) or die("Nie znaleziono bazy danych");
  3. $query = "INSERT INTO tblLogin VALUES ('$Login','$Sex','$Name','$Surname','$Password','$Age')";
  4. mysql_query($query);
  5. ?>


Więcej nie pokazuję, bo jak każę mu wyświetlić zawartość tych zmiennych, to pokazuje to, co trzeba. Coś zatem musi być nie tak z wywołaniem kwerendy.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 9.07.2025 - 19:17