Problemi con database Apache/2.4.37 (Win32) OpenSSL/1.1.1a PHP/7.3.1

Max61

Utente Attivo
2 Mar 2014
678
3
18
Salve sono dovuto passare ad 'Apache/2.4.37 (Win32) OpenSSL/1.1.1a PHP/7.3.1' e sto trovando tantissimi problemi, infatti i programmi fatti con PHP 5... non è del tutto compatibile, con alcuni esempi trovati in rete sono riuscito a fare la connessione e ad inserire i dati nel form, ma adesso non riesco a fare una query che mi verifichi l'esistenza o meno del record che sto inserendo nel db e nel caso non fosse presente l'inserimento.
Ho provato a fare questa query ma ovviamente non funziona:
PHP:
$connessione = new PDO("mysql:host=$host;dbname=$db", $user, $password);
$sql = "SELECT * FROM tblanagrafica WHERE Nominativo = '".utf8_encode($Nominativo)."' AND NumPratica= '".$NumPratica."' AND Anno = '".$Anno."'"; 
$data = $db->Query_select($sql);   
if(!count($data)){ echo "Nessun record trovato"; }   
else { foreach($data as $row){ echo print_r($row); } }
Questa invece è la vecchia query di insert che usavo prima
PHP:
$query="INSERT INTO tblanagrafica (Nominativo,NumPratica,CodiceFiscale,Indirizzo,DataNascita,Residenza,TelefonoFisso,Cellulare,Mail,Fiduciario,Protocollo,Anno,Data,datainserimento,inserito_da,LinkCartella)
        VALUES ('".utf8_encode($Nominativo)."','$NumPratica','$CodiceFiscale','$Indirizzo','$DataNascita','$Residenza','$TelefonoFisso','$Cellulare','$Mail','".utf8_encode($Fiduciario)."','$Protocollo','$Anno','$Data','$datainserimento','$inserito_da','$LinkCartella')"; 
  mysqli_query($query, $myconn) or die ("Attenzione: errore nella query");
Mi date una dritta?
Grazie
Max61
 

marino51

Utente Attivo
28 Feb 2013
2.912
162
63
Lombardia
sostituisci
$connessione = new PDO …….
con
$db = new PDO …….
perché poi usi
$data = $db->Quer…….
 

Max61

Utente Attivo
2 Mar 2014
678
3
18
Ciao Marino51, grazie ma al solito non funziona e sicuramente l'errore è il mio
PHP:
try {
    $db = new PDO("mysql:host=$host;dbname=$db", $user, $password);
$sql = "SELECT * FROM tblanagrafica WHERE Nominativo = '".utf8_encode($Nominativo)."' AND NumPratica= '".$NumPratica."' AND Anno = '".$Anno."'";
$data = $db->Query_select($sql);  
if(!count($data)){ echo "Nessun record trovato"; }  
else { foreach($data as $row){ echo print_r($row); } }
mi da errore alla riga 142
Fatal error: Uncaught Error: Call to undefined method PDO::Query_select() in C:\xampp\htdocs\biologico\views\InserisciUtente.php:142 Stack trace: #0 {main} thrown in C:\xampp\htdocs\biologico\views\InserisciUtente.php on line 142
la linea 142 è:
$data = $db->Query_select($sql);
 

Max61

Utente Attivo
2 Mar 2014
678
3
18
Grazie adesso funziona, ora mi da errore sull'insert
PHP:
$query="INSERT INTO tblanagrafica (Nominativo,NumPratica,CodiceFiscale,Indirizzo,DataNascita,Residenza,TelefonoFisso,Cellulare,Mail,Fiduciario,Protocollo,Anno,Data,datainserimento,inserito_da,LinkCartella)
        VALUES ('".utf8_encode($Nominativo)."','$NumPratica','$CodiceFiscale','$Indirizzo','$DataNascita','$Residenza','$TelefonoFisso','$Cellulare','$Mail','".utf8_encode($Fiduciario)."','$Protocollo','$Anno','$Data','$datainserimento','$inserito_da','$LinkCartella')";
  mysqli_query($query, $db) or die ("Attenzione: errore nella query");
Warning: mysqli_query() expects parameter 1 to be mysqli, string given in C:\xampp\htdocs\testamento_biologico\views\InserisciUtente.php on line 419
il rigo 419 è:
PHP:
mysqli_query($query, $connessione) or die ("Attenzione: errore nella query");
 

marino51

Utente Attivo
28 Feb 2013
2.912
162
63
Lombardia
PHP:
mysqli_query($query, $db) or die ("Attenzione: errore nella query");

prova a sostituire con,

if ($db->query($query) === TRUE) { } else { echo "Error: " . $query . "<br>" . $db->error; }