nome file che contiene punto passato come parametro a query

questo il codice, voglio recuperare il nome completo del file per verificare se già presente nella tabella

Codice:
<?php
set_time_limit(120);
include ("config_prova.php");


$mysqli = new mysqli ($host, $db_user, $db_psw, $db_name);

if(!$mysqli)
    {
    die ("Errore critico di connessione al database" . mysqli_error());    
    }

//print_r($_FILES); //stampa i dettagli del file <br>
$userfile_name = $_FILES['birdfn']['name'];
echo $userfile_name = $_FILES['birdfn']['name'];
echo "\n<hr>\n\n";


$qfileinseriti = $mysqli -> query('SELECT NOMFILE FROM tbfilebirdfn WHERE NOMFILE = '.$userfile_name.';');
$rfileins = mysqli_fetch_row($qfileinseriti);

$rowcount=mysqli_num_rows($qfileinseriti);

echo $rowcount;

?>
Puoi postare un Echo del $userfile_name?
 
Bah altrimenti se non presente inserisci il contenuto del file nella colonna NOMFILE di tipo blob o text?
 
Bah altrimenti se non presente inserisci il contenuto del file nella colonna NOMFILE di tipo blob o text?
Io credo che storare il nome del file in una colonna di tipo varchar e poi richiamare il file da una folder sia la migliore soluzione almeno per me è la più funzionale.
 
Scusa ma l'estensione? Di che tipo e la colonna?

Purtroppo il sistema che me lo crea non crea alcuna estensione se lo apro con qualsiasi editor di testo visualizzo il contenuto, o anche se gli do io l'estensione .TXT la prende.

La colonna è di tipo char (8), non posso cambiarla in varchar e il nome del file sarà sempre di 8 caratteri
 
Purtroppo il sistema che me lo crea non crea alcuna estensione se lo apro con qualsiasi editor di testo visualizzo il contenuto, o anche se gli do io l'estensione .TXT la prende.

La colonna è di tipo char (8), non posso cambiarla in varchar e il nome del file sarà sempre di 8 caratteri
Ok char 8 è di tipo stringa poi dove giace questo file fisicamente?
 
Grazie mille ad entrambi

Ho utilizzato questo codice di Hormus funziona alla perfezione,
mi traeva inizialmente un po' in inganno sulla sua correttezza la visualizzazione in AptanaStudio dove
il parametro viene evidenziato in verde fluo e avevo quindi dubbi che la sintassi fosse corretta;

Cattura.JPG


Codice:
$userfile_name = $_FILES['bir']['name'];

If(($qfileinseriti = $mysqli -> query("SELECT NOMFILE FROM tbfile WHERE NOMFILE = '$userfile_name'")) !== false){
if(is_object($qfileinseriti)) {
$rfileins = mysqli_fetch_assoc($qfileinseriti);

$rowcount=mysqli_num_rows($qfileinseriti);
echo $rowcount;
} else {
echo 'empty';
}
} elseif($qfileinseriti == false) {
printf("Error message: %s\n", mysqli_error($mysqli));
}
 
Ok figurati adesso puoi togliere la ridondanza al codice, cioè rimuovi tutti gli if e poi dovresti sanificare il nome del file quando devi inserirlo nel database altrimenti con un file che abbia un apice lo script pensa di essere arrivato.
Comunque avevo postato stringa letterale del doc mysql per evidenziare che dicevo unicamente la sintassi corretta. https://forum.mrw.it/threads/nome-f...sato-come-parametro-a-query.56790/post-218242
 
Ultima modifica:

Discussioni simili