Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Błąd w składni, które nie widzę :)
Forum PHP.pl > Forum > Przedszkole
Zielonkawy18
  1. <?php
  2. $nowy_uzytkownik = $_POST['uzytkownik'];
  3. $nowe_haslo = $_POST['haslo'];
  4.  
  5. if (isset($_POST['dodaj']))
  6. {
  7. $sql='INSERT INTO konta_uzytkownikow (login, haslo) VALUES ('$_POST['uzytkownik']','$_POST['haslo']')';
  8. $con = mysql_connect("mysql.cba.pl","xxx","xxx");
  9. }?>


Niestety wywala mi błąd składniowy:

  1. Parse error: syntax error, unexpected T_VARIABLE in /virtual/hosting.php on line 73


Pozdrawiam
Sephirus
Seriously?

  1. $sql='INSERT INTO konta_uzytkownikow (login, haslo) VALUES ('$_POST['uzytkownik']','$_POST['haslo']')';


questionmark.gif?
viking
  1. ('$_POST['uzytkownik']','$_POST['haslo']')';

Poczytaj o prepared statements.
Zielonkawy18
Oczywiście poczytałem pomogło smile.gif

Jednak w dalszym ciągu coś jest nie echo tongue.gif

  1. <?php
  2. $con = mysql_connect("mysql.cba.pl","xxx","xxxx");
  3. echo "polaczono";
  4. if (!$con)
  5. {
  6. die('Could not connect: ' . mysql_error());
  7. }
  8.  
  9. mysql_select_db("xxxxx");
  10. echo "zaznaczono baze";
  11. $stmt = ("INSERT INTO 'konta_uzytkownikow' (login, haslo) VALUES ('uczen', 'ucze_sie_php')");
  12. $q = $con->prepare($stmt);
  13. $q->execute();
  14. echo "Jestes nauczony :)";
  15. ?>


Postawiłęm sobie check pointy w postaci echo aby wiedzieć co się nie wykonuje, otóż sprawa zakańcza się od momentu konstrukcji zapytania do bazy danych. Tabela istnieje, literówek nie popełniłem. Dodam ze jest to osobny plik php, ktory jest wykonywany po wcisnieciu buttona.

Pozdrawiam!
nospor
Kurcze, włącz wyświetlanei wszystkich błędów to będziesz je widział.....

1) wynik mysql_connect nie ma w sobie metody PREPARE()
2) W mysql odróżniaj apostrofy ' od krzywych apostrofów `
Sephirus
Wiesz, że dzwoni ale nie wiesz, w którym kościele smile.gif Za radą przedmówcy poczytałeś o prepared statements (swoją drogą co nie do końca tu pomaga) ale pokićkałeś funkcję mysql_* z PDO...

jedno nie działa z drugim, zatem przejdź już na jedno (PDO):

  1. <?php
  2. try {
  3. $con = new PDO('mysql:host=mysql.cba.pl;dbname=xxx', 'login', 'password');
  4. } catch(Exception $e) {
  5. die((string) $e);
  6. }
  7. echo "polaczono i zaznaczono baze";
  8. $stmt = "INSERT INTO `konta_uzytkownikow` (login, haslo) VALUES ('uczen', 'ucze_sie_php')";
  9. $q = $con->prepare($stmt);
  10. $q->execute();
  11. echo "Jestes nauczony :)";
  12. ?>


EDIT: apostrofy w SQL - Thx Nospor
Zielonkawy18
extra, dodało, bawię się dalej smile.gif

Pozdrawiam

Cytat(!*! @ 19.10.2012, 11:31:32 ) *



super linki, dziękuję.
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.