Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Błędne zapytanie do bazy- INSERT
Kochan
post 30.04.2015, 10:50:06
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 22.08.2006

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


Witam, mam problem z insertem z mojego kodu, wydaje mi się że jest poprawny.
Połaczenie z bazą jest OK, tabela post dodana a w niej kolumny z identycznymi nazwami.
W rezultacie po submicie mam tylko info że zapytanie niepoprawne a w bazie nie ma danych z formularza.

  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <form method="post" action="ins_post.php" enctype="multipart/form-data">
  6. <table width="600" align="center" border="5px">
  7. <tr>
  8. <td align="center" colspan="4px" ><h2> Dodaj Post</h2></td>
  9. </tr>
  10. <tr>
  11. <td>Tytul</td>
  12. <td><input type="text" name="tytul"></td>
  13. </tr>
  14. <tr>
  15. <td>Keywords</td>
  16. <td><input type="text" name="keywords"></td>
  17. </tr>
  18. <tr>
  19. <td>Zawartość</td>
  20. <td><textarea rows="25" cols="50" name="content"></textarea></td>
  21. </tr>
  22. <tr>
  23. <td>Obrazek</td>
  24. <td><input type="file" name="img"></td>
  25. </tr>
  26. <tr>
  27. <td>Autor</td>
  28. <td><input type="text" name="autor"></td>
  29. </tr>
  30. <tr>
  31. <td>Miasto</td>
  32. <td><input type="text" name="miasto"></td>
  33. </tr>
  34. <tr>
  35. <td><input type="submit" name="submit" value="Submit" /></td>
  36. </tr>
  37.  
  38. </form>
  39. </body>
  40. </html>
  41. <?php include("./config_mysql.php");
  42. if(isset($_POST['submit'])){
  43. $post_tytul = $_POST['tytul'];
  44. $post_keywords = $_POST['keywords'];
  45. $post_content = $_POST['content'];
  46. $post_data = date('d-m-y');
  47. $post_autor = $_POST['autor'];
  48. //$post_img = $_FILES['img']['name'];
  49. //$img_tmp = $_FILES['img']['tmp_name'];
  50. $post_miasto = $_POST['miasto'];
  51.  
  52. if($post_tytul=='' or $post_keywords=='' or $post_autor=='' or $post_content=='' or $post_miasto=='')
  53. {
  54. echo("<script>confirm('Wpisz wartości!')</script>");
  55. exit();
  56. }
  57. else {
  58. //move_uploaded_file($img_tmp,"/img/$post_img");
  59. // kolumny wpisane bez `- również zapytanie niepoprawne
  60. $insert_query = "INSERT INTO post (`post_tytul`,`post_autor`,`post_keywords`,`post_content`,`post_data`,`post_
    miasto`) VALUES ('$post_tytul','$post_autor'.'$post_keywords','$post_content','$post_data','$post_miasto')"
    ;
  61. if(mysql_query($insert_query) or die("Zapytanie niepoprawne"));{
  62. echo ("<center><h1>Dodano wpis !</h1></center>");
  63. }
  64.  
  65. }
  66. }
  67.  
  68.  
  69.  
  70. ?>
Go to the top of the page
+Quote Post
Damonsson
post 30.04.2015, 10:57:16
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


. != ,
Go to the top of the page
+Quote Post
Kochan
post 30.04.2015, 14:39:11
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 22.08.2006

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


sory, ale coś więcej ? W sumie nie gotowe rozwiązanie ale naprowadzenie na błąd.
Go to the top of the page
+Quote Post
fate
post 30.04.2015, 14:42:35
Post #4





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

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


Obstawiam L 60


--------------------
Go to the top of the page
+Quote Post
Martin-ZG
post 30.04.2015, 14:52:51
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 3
Dołączył: 23.07.2009

Ostrzeżenie: (10%)
X----


Ja jak mam błędy w zapytaniach to wyświetlam całe zapytanie echem i później sprawdzam, albo jeszcze wklejam w phpmyadmin. Jak mam jakieś bardzo złożone zapytania, to przygotowuje sobie wzór w phpmyadmin i później wklejam do kodu i uzupełniam zmiennymi. Zmienne tekstowe powinny być w jeszcze jednym cudzysłowi np ".'$zmienna'." Coś tam jest pokręcone z tym. Masz całość w podwójnym, później zmienne z kropką w pojedynczym.

Ten post edytował Martin-ZG 30.04.2015, 14:55:59
Go to the top of the page
+Quote Post
Kochan
post 30.04.2015, 14:56:14
Post #6





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 22.08.2006

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


insert w phpmyadminie wykonuje się poprawnie.
Go to the top of the page
+Quote Post
nospor
post 30.04.2015, 15:00:18
Post #7





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




Cytat
Zmienne tekstowe powinny być w jeszcze jednym cudzysłowi np ".'$zmienna'." Coś tam jest pokręcone z tym. Masz całość w podwójnym, później zmienne z kropką w pojedynczym.

facepalmxd.gif

Jedyny blad, jaki autor tu popelnil to uzycie kropki zamiast przecinka do oddzielenia pola... Mowiono już o tym...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Kochan
post 30.04.2015, 15:04:39
Post #8





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 22.08.2006

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


poprawiłem i nadal zapytanie niepoprawne
  1. $insert_query = "INSERT INTO post (`post_tytul`,`post_autor`,`post_keywords`,`post_content`,`post_data`,`post_
    miasto`) VALUES ('$post_tytul','$post_autor','$post_keywords','$post_content','$post_data','$post_miasto')"
    ;
  2. if(mysql_query($insert_query) or die("Zapytanie niepoprawne"));{
  3. echo ("<center><h1>Dodano wpis !</h1></center>");
  4. }
  5.  
  6. }
Go to the top of the page
+Quote Post
nospor
post 30.04.2015, 15:07:52
Post #9





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




Super, to teraz zamiast nic nie mowiacego tekstu z bledem, wyswietl blad bazy....

nie: die("Zapytanie niepoprawne")
a: die(mysql_error())

ps:
rety, a co to za potworki? or w IF, potem srednik??
if(mysql_query($insert_query) or die("Zapytanie niepoprawne"));{

echo ("<center><h1>Dodano wpis !</h1></center>");

}

Tak ma byc:
$res = mysql_query($insert_query) or die(mysql_error());
if($res){

echo ("<center><h1>Dodano wpis !</h1></center>");

}


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Kochan
post 30.04.2015, 15:19:20
Post #10





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 22.08.2006

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


OK, poprawiłem wszystko co napisałeś i mam komunikat z mysql_error "No database selected" a w configu jest wybrana:
  1.  
  2. <?php
  3. // nawiazujemy polaczenie
  4. $connection = @mysql_connect('localhost', 'root', '')
  5. // w przypadku niepowodznie wyświetlamy komunikat
  6. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  7. // połączenie nawiązane ;-)
  8. echo "Udało się połączyć z serwerem!<br />";
  9. // nawiązujemy połączenie z bazą danych
  10. $db = @mysql_select_db('cms_baza', $connection)
  11. // w przypadku niepowodzenia wyświetlamy komunikat
  12. or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
  13. // połączenie nawiązane ;-)
  14. echo "Udało się połączyć z bazą dancych!";
  15. // zamykamy połączenie
  16. mysql_close($connection);
  17.  
  18. ?>
Go to the top of the page
+Quote Post
johny_s
post 30.04.2015, 15:20:42
Post #11





Grupa: Zarejestrowani
Postów: 594
Pomógł: 122
Dołączył: 17.07.2005
Skąd: P-na

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


to nie zamykaj połączenia z bazą danych...
Go to the top of the page
+Quote Post
Kochan
post 30.04.2015, 15:24:23
Post #12





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 22.08.2006

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


ehh.... jak zawsze błąd w pierdółce którą skopiowałem i nie przeanalizowałem. Dzięki
Go to the top of the page
+Quote Post

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: 25.04.2024 - 00:36