Autor Zpráva
UrbiCZ
Profil
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
A co si nechat vypsat chybu? K DB se aspoň připojíš, nebo ani to neklapne?
UrbiCZ
Profil
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
Na konec (nebo někam za řádek 28) tohoto php scriptu přidej:
echo mysql_errno($spojeni) . ": " . mysql_error($spojeni). "\n";
a napiš, co to vypsalo.
UrbiCZ
Profil
Vypsalo to tohle:1366 : Incorrect integer value: '' for column 'id' at row 1
Keeehi
Profil
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
A máš u ID nastavenej auto increment?

EDIT: Pozdě :)
UrbiCZ
Profil
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
UrbiCZ:
null a prázdná hodnota není to samé. (null != '')
Merimac
Profil
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
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
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
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ě".

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0