He buscado en la red y hasta ahora lo que he visto es que pueden usar mysql_y mysqli_juntos significa:
<?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";
?>
Son válidos pero cuando uso este código lo que obtengo es:
Connected
Warning: mysql_close() expects parameter 1 to be resource, object given in D:\************.php on line 9
Done
Para el primero y el mismo excepto con mysqli_close(). Para el segundo.
¿Cuál es el problema? ¿No puedo usar mysql_y mysqlijuntos? ¿O es normal? ¿Es la forma en que puedo comprobar si las conexiones son válidas? (el if(mysq...))
mysql_*funciones por completo. Son propensos a errores e inseguros, y pronto se eliminarán de PHP (están marcados como obsoletos en este momento). [Esta gran respuesta] [0] explica con más detalle por qué son malos. [0]: stackoverflow.com/a/12860046/1055295
mysqli_*funciones y código bueno con mysql_*otras. Pero la última categoría está marcada como obsoleta ya que es el conjunto inferior de funciones, no pudiendo admitir invocaciones de estilo OO o incluso declaraciones preparadas (por nombrar solo dos ejemplos). Dada la opción de dos herramientas para hacer el mismo trabajo, una de las cuales es claramente mejor a largo plazo y más flexible, ¿no es obvia la respuesta correcta?