Salve ragazzi...
Ho un problemino; sto facendo alcune prove e vorrei inserire una riga nel db mysql, solo se il campo che già è scritto nel db, è differente da quello nuovo in arrivo.
Spiego meglio, ho creato un file in .php che se interrogato preleva le proprietà del browser utilizzato per connettersi e le salva in un campo. Ora vorrei (se possibile) fare in modo che se interrogo successivamente quel file con un browser (che so faccio un wget anzichè usare firefox o chrome ecc...) differente da quello usato l'ultima volta, nel database si scriva una nuova riga, mentre se uso lo stesso, non si scriva nulla e rimanga tutto inalterato.
il codice che ho scritto, inserisce sempre una riga nuova ignorando ciò che speravo facesse ed è questo:
codice:
<?php
$host = "host";
$user = "user";
$password = "password";
$db = "prova";
$obj = new mysqli($host, $user, $password, $db);
//CONNECTION
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$browser = getenv("HTTP_USER_AGENT");
// Confronto le variabili locali con i records presenti nel DB (devono essere presenti tutti).
// Se non li trovo, allora farò una insert nel DB
$SQL = "SELECT * FROM client WHERE (browser = '$browser')";
$result = $obj->query($SQL);
// Conto i risultati; se non sono differenti da zero allora faccio un insert
if(mysql_num_rows($result) != 0); {
$SQL = sprintf("INSERT INTO client (browser)
values('$browser')");
$result = $obj->query($SQL);
if($result) {
echo "Ok! data stored.";
} else {
echo "Errore in Query";
}
}
?>
Cosa sbaglio?
Qualcuno mi può aiutare?
Grazie in anticipo!