Codice PHP:
if($tipe = CoC){
$table = Utenti_ClanCoC ;
}
else{
$table = Utenti_ClanCR ;
}
$type = CoC è un assegnamento, non un confronto: devi usare == o ===. CoC non è una costante definita, verosimilmente intendevi la stringa 'CoC', e lo stesso per i nomi delle tabelle:
Codice PHP:
if ($type === 'CoC') {
$table = 'Utenti_ClanCoC';
} else {
$table = 'Utenti_ClanCR';
}
volendo puoi anche usare una notazione più compatta con l'operatore ternario:
Codice PHP:
$table = ($type === 'CoC') ? 'Utenti_ClanCoC' : 'Utenti_ClanCR';
Nella query le parentesi che hai usato non sono necessarie:
Codice PHP:
$query = "SELECT * FROM " . $table . " WHERE(nome_clan LIKE '%" . $chiave . "%'";
Stai mescolando mysql_* e mysqli_*: a dispetto del nome, sono strutturalmente diversi e non si possono mescolare. Meglio riscrivere tutto con mysqli.
Queste due righe sono problematiche:
Codice PHP:
mysqli_query($query, $db);
$result_n = mysql_num_rows(mysqli_query);
nella prima esegui la query, ma non recuperi il risultato (in altre parole, lo scarti). Nella seconda applichi una funzione mysql_num_rows... ad un nome di funzione di mysqli.
Nelle righe seguenti usi $result senza averlo inizializzato.
Riassumendo, propongo una riscrittura di questo tipo:
Codice PHP:
// Connessione alla base di dati
$link = mysqli_connect("localhost", "theclashclan", "", "my_theclashclan");
if (mysqli_connect_errno()) {
echo "ERRORE: Impossibile connettersi alla base di dati " . mysqli_connect_error();
}
// Lettura dei parametri
$type = mysqli_real_escape_string($link, $_GET['Game']);
$key = mysqli_real_escape_string($link, $_GET['Nome']);
$table = ($type === 'CoC') ? 'Utenti_ClanCoC' : 'Utenti_ClanCR';
// Interrogazione della base di dati
$query = "SELECT * FROM $table WHERE nome_clan LIKE '%$key%'";
$result = mysqli_query($link, $query);
if ($result === false) {
echo "ERRORE: " . mysqli_error($link);
}
// Interpretazione dei risultati
if (mysqli_num_rows($result) == 0) {
echo "Nessun risultato trovato per '$key'.";
}
else {
// Fai quello che devi fare con i tuoi dati
}
Modulo errori di sintassi che possono sempre capitare, l'idea è quella.