Autor Zpráva
quatzael
Profil
Mám příkaz pro vložení do databáze, který vypadá nějak takto:

$ins = "INSERT INTO moje_tabulka (ip, neco_dalsiho) VALUES('{$_SERVER['REMOTE_ADDR']}', 'neco')"; $send = mysqli_query($db_connect, $ins);
Jenže těch položek je tam mnohem víc (něco přes 100) a někde jsem tam udělal chybu. Potřeboval bych něco, co by mi ohlásilo chybu, jako, že například "sloupec neexistuje" pokud jsem tam udělal někde překlep..

echo mysqli_error(); bohužel nic nehlásí..
Stalker
Profil
quatzael:
mysql_query($ins) or die mysql_error(); ti v případě chyby v tvém MySQL dotazu vyhodí chybové hlášení.
quatzael
Profil
Stalker:
tohle mi zastaví celý skript, musí to být špatně syntakticky..navíc já používám mysqli..
Luky
Profil
Možná by neškodilo si lépe prostudovat třídu Mysqli...
Když už si proceduru ukládáš do proměnné, tak by bylo možná lepší použít toto (místo die):
if (!$sent) echo mysqli_error(); 

Pokud to zapisuješ tolikrát, tak by neškodilo tu IP adresu uložit do proměnné.
$ip = $_SERVER['REMOTE_ADDR'];

if (!$mysqli->query("INSERT INTO moje_tabulka (ip, neco_dalsiho) VALUES('$ip', 'neco')")) {
    printf("Chyba: ", $mysqli->error);
}
quatzael
Profil
Luky:
if (!$sent) echo mysqli_error();
Tohle nic nevypíše, tváří se to jako by žádná chyba nenastala..

if (!$mysqli->query("INSERT INTO moje_tabulka (ip, neco_dalsiho) VALUES('$ip', 'neco')")) {
    printf("Chyba: ", $mysqli->error);
}
Tohle celý skript zastaví.. Asi špatněj syntax..


už jsem tu chybu našel.. nakonec jsem použil cyklus for a zapisoval jsem to položku po položce.. Měl jsem tam překlep v názvu jednoho sloupce přímo v tý tabulce.. Kontroloval jsem to předtím dvakrát, ale nějak mi to uniklo..
Moderátor jenikkozak: Za větou se píše jen jedno interpunkční znaménko.

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: