Autor | Zpráva | ||
---|---|---|---|
UrbiCZ Profil |
#1 · Zasláno: 6. 10. 2010, 14:43:12
Nevíte, proč mi nejde vložit data do databáze? Dělám to podle video-tutu a nejde mi to. :(
<?php $jmeno = $_POST['jmeno']; $zprava = $_POST['zprava']; $date = date("Y-m-d"); $spojeni = mysql_connect("localhost","root","policie"); if (!$spojeni) { echo "Nepodařilo se připojit do MySQL"; } $vyber_databaze = mysql_select_db("ruzne"); if (!$vyber_databaze) { echo "Nepodařilo se připojit k databázi"; } $dotaz = mysql_query(" INSERT INTO navstevnikniha VALUES ('','$date','$jmeno','$zprava') "); if(!$dotaz) { echo "Něco je špatně"; } ?> |
||
Budulinek Profil |
#2 · Zasláno: 6. 10. 2010, 14:45:12
A co si nechat vypsat chybu? K DB se aspoň připojíš, nebo ani to neklapne?
|
||
UrbiCZ Profil |
#3 · Zasláno: 6. 10. 2010, 14:55:58
Vypíše to tu chybu při vložení do databáze, tedy "Něco je špatně". Spojení s databází je v pořádku....
|
||
Keeehi Profil |
#4 · Zasláno: 6. 10. 2010, 14:57:54 · Upravil/a: Keeehi
Na konec (nebo někam za řádek 28) tohoto php scriptu přidej:
echo mysql_errno($spojeni) . ": " . mysql_error($spojeni). "\n"; |
||
UrbiCZ Profil |
#5 · Zasláno: 6. 10. 2010, 15:00:38 · Upravil/a: UrbiCZ
Vypsalo to tohle:1366 : Incorrect integer value: '' for column 'id' at row 1
|
||
Keeehi Profil |
#6 · Zasláno: 6. 10. 2010, 15:05:09 · Upravil/a: Keeehi
Dotaz se pokouší do sloupce id vložit '' což však není číslo. Sloupec id je nastaven, že prostě požaduje číslo.
Možnosti - nastav sloupci id AUTO INCEREMENT. Dotaz pak může vypadat takto: "INSERT INTO navstevnikniha VALUES (null,'$date','$jmeno','$zprava')" |
||
Budulinek Profil |
#7 · Zasláno: 6. 10. 2010, 15:05:26 · Upravil/a: Budulinek
A máš u ID nastavenej auto increment?
EDIT: Pozdě :) |
||
UrbiCZ Profil |
#8 · Zasláno: 6. 10. 2010, 15:11:57
Auto inkrementaci tam samozřejmě nastavenou mám. Stačilo tam jen napsat null a už to jede......proč to nejde bez toho null?
Jinak samozřejmě díky..... |
||
Keeehi Profil |
#9 · Zasláno: 6. 10. 2010, 15:14:37
UrbiCZ:
null a prázdná hodnota není to samé. (null != '') |
||
Merimac Profil |
#10 · Zasláno: 6. 10. 2010, 15:15:58 · Upravil/a: Merimac
Protože takhle vkládáš celý řádek, pokud chceš bez toho null, tak musíš:
INSERT INTO navstevnikniha (column1, column2, column3,) VALUES (value1, value2, value3,...) samozřejmě za column1 ... si doplň názvy svých sloupcu do kterých chceš vkládat.. |
||
UrbiCZ Profil |
#11 · Zasláno: 6. 10. 2010, 15:30:57
Ještě se mi pokaždé vypíše to datum, které mám nahoře v proměnné. Když tu proměnnou vymažu, tak je tam zase chyba. Jak na to? :-D
|
||
Keeehi Profil |
#12 · Zasláno: 6. 10. 2010, 15:34:28
A co by se tam mělo asi vložit, když ne datum?
Pokud chceš vkládat jen do nějakých sloupců, použij: INSERT INTO navstevnikniha (sloupec1, sloupec3, sloupec15) VALUES (hodnota1,hodnota3,hodnota15); |
||
UrbiCZ Profil |
#13 · Zasláno: 6. 10. 2010, 15:52:07
Tohle chápu, ale ta proměnná nahoře $date = date("Y-m-d"); se vypíše pokaždé, i při prvním vložení textu. Když chci vložit jen jméno a zprávu, tak se datum po příkazu SELECT nevypíše a ukáže se opět chyba "Něco je špatně".
|
||
Časová prodleva: 14 let
|
0