If else select, insert, update
Hej EksperterHar igen igen problemer med at få noget til at virker, som ellers virker fint i en anden funktion, som jeg ig ronols har lavet.
Jeg har et problem med at få dette til at virke som det skal.
require_once('besoeg_function.php');
$besogstaeller_id = besoeg_Select($hellestrik, $privat); // finder i det hvis det er der
if($besogstaeller_id == 0){
besoeg_Create($hellestrik, $privat); // hvis det ikke er der insert
}
else {
besoeg_Update($hellestrik, $privat); // ellers opdater hits
}
Den gør det bare ikke den bliver ved med at komme med flere af den samme ip.
Her er mine funktioner:
function besoeg_Select($hellestrik, $privat){
$stmt = $hellestrik->prepare('SELECT `privat`, hits, `besoge`, `datetime` FROM tbl_besoeg WHERE privat = ?');
/* Bind parametre */
$stmt->bind_param('s', $privat);
/* Sæt værdier på parametrene */
$privat = $_GET['privat'];
/* Eksekver forespørgslen */
$stmt->execute();
/* Bind resultatet */
$stmt->bind_result($privat, $hits, $besoge, $datetime);
/* Hent rækker og udskriv data */
while ($stmt->fetch()) {
;}
}
function besoeg_Create($hellestrik, $privat){
$id=0;
if ($stmt = $hellestrik->prepare('INSERT INTO `tbl_besoeg` (`privat`, `hits`, `besoge`, `datetime`) VALUES (?, ?, ?, ?)')) {
/* Bind parametre */
$stmt->bind_param('siis', $privat, $hits, $besoge, $datetime);
/* Sæt værdier på parametrene */
$privat = $_GET['privat'];
$hits = 1;
$besoge = 1;
$datetime = date('Y-m-d H:i:s');
/* Eksekver forespørgslen */
$stmt->execute();
$id = $stmt->insert_id;
/* Luk statement */
$stmt->close();
}
else{
$id=-1;
echo "server fejl";
}
return $id;
}
function besoeg_Update($hellestrik, $privat){
$query = "UPDATE `tbl_besoeg` SET `hits`=`hits`+1 WHERE `privat`=?";
$execute = $hellestrik->prepare($query);
if ($execute) {
$execute->bind_param('s', $privat);
$execute->execute();
} else {
echo 'We\'re having trouble connecting to the database at the moment, try again later!';
}}