Autor Zpráva
Spilky
Profil *
Zdravím, nefunguje mi kód níže. Pokud zadám string uložený v $sql prřímo jako SQL dotaz v phpMyAdmin, tak to funguje s přehledem, avšak pokud ho mám takto v kódu, tak nefunguje. Nevíte čím by to mohlo být? Děkuji

$sql = "INSERT INTO faktury (`id`, `datum_vyst`, `cislo`, `jmeno`, `ulice`, `obec`, `psc`, `polozky`, `celk_cena`) VALUES ('NULL','" . $today_db . "','" . $cislo . "','" . $jmeno . "','" . $ulice . "','" . $obec . "','" . $psc . "','" .  $polozky . "','" . $celk_cena . "')";
echo $sql;
if ($result = mysqli_query($link, $sql)) {
    echo "dobry";
}
juriad
Profil
Pokud je id AUTO_INCREMENT, tak ho vůbec neuváděj, ani hodnotu NULL ve VALUES. NULL není řetězec, je to speciální hodnota, nemá být uvnitř uvozovek či apostrofů. Podobně číslo, sice si ho databáze překonvertuje, ale je to pořád blbý zvyk.

Spíš ukaž přímo ten sestavený dotaz.
Joker
Profil
juriad:
Pokud je id AUTO_INCREMENT, tak ho vůbec neuváděj, ani hodnotu NULL ve VALUES
Případně by mohl uvést DEFAULT (nikoliv řetězec 'DEFAULT'). Ovšem rozhodně ne řetězec 'NULL'.

Spilky:
Jestli sloupec id je primární klíč, mohlo to napoprvé projít a potom už ne, protože hodnota 'NULL' už existuje.
Spilky
Profil *
Díky, už to šlape, někdy jsem si to blbě našel :D


[#4] Spilky


[#4] Spilky

Ne, tak chyba lávky, ale už vím, kde je problém, proměnná $položky totiž obsahuje:
<tr height=43 style='mso-height-source:userset;height:32.25pt'>
          <td height=43 class=xl1513450 style='height:32.25pt'></td>
          <td colspan=6 class=xl10913450 width=535 style='width:402pt'>" . $key . "</td>
          <td class=xl10213450 align=right>" . $cena . " Kč</td>
          <td class=xl9813450>&nbsp;</td>
         </tr>
a to několikrát za sebou, ale to se mi jaksi nedaří uložit do DB.

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