#9
>min NP++ står til kodning i UTF8 uden BOM
skal det også være
>kan jeg bede NP++ tjekke min kode?
den syntax highlighter automatisk baseret på fil endelse
du kan jo prøve at udskrive din $ret (sql), og se om det ser ud som du forvendter
<?php
function rediger_record_0($sql, $ID, $ny_hverv, $ny_beskrivelse, $ny_sortering) {
$ret = "UPDATE fvf2_cer_tillidshverv SET tillidshverv='".$ny_hverv."', beskrivelse='".$ny_beskrivelse."', sortering=".$ny_sortering." WHERE fvf2_cer_tillidshverv.ID=".$ID;
echo $ret;
}
function rediger_record_1($sql, $ID, $ny_item_nr, $ny_item_name, $ny_item_beskrivelse) {
$ret = "UPDATE fvf2_cer_item SET item_nr='$ny_item_nr', item_name='$ny_item_name', item_beskrivelse='$ny_item_beskrivelse' WHERE fvf2_cer_item.ID=$ID";
echo $ret;
}
// med Prepare Statement, så slipper du for alt det plinger "lort", og får størrer sikkerhed :)
function rediger_record_2($sql, $ID, $ny_item_nr, $ny_item_name, $ny_item_beskrivelse) {
$ret = "UPDATE fvf2_cer_item SET item_nr=?, item_name=?, item_beskrivelse=? WHERE fvf2_cer_item.ID=?";
echo "her skal du så binde parameterne\n";
echo $ret;
}
$mysqli =""; // dummy connection
rediger_record_0($mysqli, 42, "mit erhverv", "gider ikke beskrive denne item æøå, lidt dannske bogstaver", 1);
echo "\n\n";
rediger_record_1($mysqli, 42, 3, "test item", "gider ikke beskrive denne item æøå, lidt dannske bogstaver");
echo "\n\n";
rediger_record_2($mysqli, 42, 3, "test item", "gider ikke beskrive denne item æøå, lidt dannske bogstaver");
?>
der er iøvrigt et spøjst navn du har valgt til din connection ($sql) inde i dine functioner, samt navnet til din sql string
citat fra OleBoles Guide "Prepared Statements under MySQLI - kom igang"
Eksempel på UPDATE fra form med method="post":
/* Opret et prepared statement */
if ($stmt = $mysqli->prepare('UPDATE `tabel` SET `fornavn`=? WHERE `id`=?')) {
/* Bind parametre */
$stmt->bind_param('si', $fornavn, $id);
/* Sæt værdier på parametrene */
$fornavn = $_POST['fornavn'];
$id = $_POST['id'];
/* Eksekver forespørgslen */
$stmt->execute();
/* Luk statement */
$stmt->close();
} else {
/* Der er opstået en fejl */
echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
}
da du har lagt det ind i en function, ville du ikke bruge POST direkte inde i functionen med bare variablerne