Cześć, mam kawałek kodu do sprawdzenia, próbuję stworzyć formularz który będzie przesyłał dane do bazy.
Niestety ciągle pojawia się błąd.
// czy istnieje tabela
$myTable = "osoby";
$myDb = "moja";
// Tworzenie nowej tabeli jeśli nie istnieje tabela o takiej nazwie
$newTable = "CREATE TABLE IF NOT EXISTS $myTable(
ID INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
imie VARCHAR(30) NOT NULL,
email VARCHAR(50) NOT NULL,
tel INT(9)
)";
$selectDb = mysql_select_db($myDb, $connect);
$createNewTable = mysql_query($newTable);
if($createNewTable){
echo "Utworzono tabele";
}else echo "Nie utworzono tabeli". mysql_error();
//wybieramy bazę danych
$selectDb = mysql_select_db($myDb, $connect);
if(!$selectDb){
echo "Nie wybrano bazy danych" . mysql_error();
};
// Dodajemy rekordy w tabeli
$addRecord = mysql_query("INSERT INTO $myTable (imie, email, tel) VALUES ($imie, $email, $tel)"); //Tu gdzieś chyba jest błąd
if($addRecord){
echo "zostałeś dodany do bazy danych: $myDb";
}else echo "\nNie zostałeś dodany do bazy danych". mysql_error();
mysql_close($connect);
?>
Po wczytaniu kodu wyświetla się komunikat:
Nie zostałeś dodany do bazy danychYou have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '@gmail.com, 666666666)' at line 1
Może jest to problem z znakiem @, typ jest ustawiony na VARCHAR.
Wcześniej w kodzie skrypt sprawdza poprawność adresu e-mali poprzez filter_var($email, FILTER_VALIDATE_EMAIL) i telefonu, w tamtym przypadku, to co wpisuje w formularzu przechodzi.
Pozdrawiam