[PHP]mysqli_query() zwraca false po dodaniu kolumny z date


(userrpl) #1

Cześć.

Nie dodają mi się rekordy do bazy, w zapytaniu nie ma literówki, ani błędu, mysqli_query() zwraca fasle. A wszystko zaczęło się od dodania do tabeli kolumny z typem date, bez niej rekordy dodają się bez problemu.

Nie mam już natchnienia i pomysłu do szukania przyczyny - na pewno leży po mojej słabej znajomości MySQL :frowning: .

kod php:

= "INSERT INTO forum VALUES(' ' ', '".$title."', '".$post."', '".$nick.", ' ' ')";// pierwsza wartość, to pole typu auto increment a ostatnia date.  $mysqli_query= mysqli_query($mysqli_connect, $query);

(Grzelix) #2

Spróbuj coś takiego:

$query = "INSERT INTO forum ('topic', 'post', 'nick', 'date') VALUES(' ' ', '".$title."', '".$post."', '".$nick.", date("Y-m-d H:i:s"))";

// pierwsza wartość, to pole typu auto increment a ostatnia date.

  $mysqli_query= mysqli_query($mysqli_connect, $query);

podając nazwy kolumn masz większą kontrolę nad zapytaniem sql. W przypadku zmiany kolejności kolumn w bazie powyższy przykład będzie działał a ten który ty przedstawiłeś raczej nie zadziała.

Z tym że jak dodałeś kolumnę date z opcją not null to jakąś datę pasowało by podać. Nie wiem jak zareaguje na pustą wartość.

Czy może datę chcesz obsłużyć przez bazę?


(userrpl) #3

grzelix , Twój przykład nie działa zwraca błąd składni, chodzi o cudzysłów w formacie daty. Date chciałbym obsługiwać przez bazę, wiem, że muszę zadeklarować automatyczny update, tylko jeszcze nie wiem jak #-o.


([alex]) #4
$query = "INSERT INTO forum VALUES(null,'".$title."','".$post."','".$nick."',now())";


$query = "INSERT INTO forum VALUES(null,'".$title."','".$post."','".$nick."','".date('Y-m-d')."')";

(userrpl) #5

Rozwiązanie problemu.