Váš kód selhává ze dvou důvodů.
- Váš podmíněný příkaz hledá pojmenovaný prvek nazvaný "submit"
- Pokoušíte se provést před příkazem. Zadejte svůj dotaz (
mysqli_query()
)"níže " hodnoty a proveďtemysqli_query($dbCon, $userREQ3) or die(mysqli_error($dbCon));
Vedlejší poznámka:Změňte if ($_POST['submit']) {
to if (isset($_POST['submit'])) {
je to lepší.
a <input type="submit" value="Write Post"/>
na <input type="submit" name="submit" value="Write Post"/>
SQL injection:
Váš současný kód je otevřen pro vložení SQL
. Použijte mysqli
s připravenými výpisy
nebo CHOP s připravenými výpisy
.
V těle kódu máte také proměnné, které mohou při počátečním načtení stránky vyvolat nedefinovanou proměnnou x.
- Použijte k tomu ternární operátor
- http://php.net/manual/en/language. operatory.comparison.php
- Toto použijte pro všechny své vstupy/proměnné
Jak je uvedeno (v komentářích níže):Ujistěte se, že jste se připojili ke své databázi a používáte metodu mysqli a ne jiné API.
Různá MySQL API se vzájemně nemíchají. Používejte stejné MySQL API od připojení k dotazu.
Přidat hlášení chyb na začátek vašich souborů, což vám pomůže najít chyby.
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
Sidenote: Hlášení chyb by mělo být prováděno pouze ve fázi přípravy, nikoli ve výrobě.
Úspěšný dotaz nebo ne:
Chcete-li zjistit, zda byl dotaz skutečně úspěšný nebo selhal, zkontrolujte chyby a použijte affected_rows
.
Reference:
Pokud jste se pokoušeli použít obrázky, pak je nutné, aby byl ve značkách formuláře uveden platný enctype.
V závislosti na tom, jak/co jste chtěli vložit do obrázků, to může být faktor.
Pokud chcete vložit obrázek jako cestu je jedna věc, ale použít jej „jako obrázek“, řekněme BLOB, pak to má omezení velikosti; použijte LONGBLOB a před vstupem do databáze musíte tato data opustit.
Poraďte se:
- https://dev.mysql.com/doc/ refman/5.0/en/blob.html
- http://php.net/manual/ cs/features.file-upload.post-method.php