Ho cercato in rete e finora quello che ho visto è che puoi usare mysql_e mysqli_insieme significano:
<?php
$con=mysqli_connect("localhost", "root" ,"" ,"mysql");
if( mysqli_connect_errno( $con ) ) {
echo "failed to connect";
}else{
echo "connected";
}
mysql_close($con);
echo "Done";
?>
o
<?php
$con=mysql_connect("localhost", "root" ,"" ,"mysql");
if( mysqli_connect_errno( $con ) ) {
echo "failed to connect";
}else{
echo "connected";
}
mysqli_close($con);
echo "Done";
?>
Sono validi ma quando utilizzo questo codice ciò che ottengo è:
Connected
Warning: mysql_close() expects parameter 1 to be resource, object given in D:\************.php on line 9
Done
Per il primo e lo stesso tranne con mysqli_close(). Per il secondo.
Qual è il problema? Non posso usare mysql_e mysqliinsieme? O è normale? È il modo in cui posso verificare se le connessioni sono valide? (il if(mysq...))
mysql_*funzioni del tutto. Sono soggetti a errori e non sicuri e verranno presto rimossi da PHP (sono contrassegnati come deprecati al momento). [Questa ottima risposta] [0] va in modo più dettagliato spiegando perché sono cattivi. [0]: stackoverflow.com/a/12860046/1055295
mysqli_*funzioni e codice buono con mysql_*quelle. Ma quest'ultima categoria è contrassegnata come deprecata poiché è l'insieme di funzioni inferiore, non essendo in grado di supportare invocazioni in stile OO o persino istruzioni preparate (per citare solo due esempi). Data la possibilità di scegliere tra due strumenti per svolgere lo stesso lavoro, uno dei quali è chiaramente migliore a lungo termine e più flessibile, non è ovvia la risposta corretta?