¿Puedo mezclar las API de MySQL en PHP?


Answers

Solo para dar una respuesta general aquí sobre las tres API MYSQL con una referencia:

No se puede combinar ninguna de las tres ( mysql_* , mysqli_* , PDO ) API MYSQL de PHP juntas, simplemente no funciona. Incluso está en las preguntas frecuentes del manual :

No es posible mezclar las extensiones . Entonces, por ejemplo, pasar una conexión mysqli a PDO_MySQL o ext / mysql no funcionará .

Necesita usar la misma API de MySQL y sus funciones relacionadas, desde la conexión hasta la consulta.

Question

He buscado en la red y hasta ahora lo que he visto es que puedes usar mysql_ y mysqli_ juntos, lo que 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 mysqli juntos? ¿O es normal? ¿Es la forma en que puedo verificar si las conexiones son válidas? (el if(mysq...) )




por mi parte, creo que puede, pero tendrá que hacer los archivos para conectarse con el
base de datos porque mysqli_* solo tomará mysqli_connect y así con mysql_*

Puede intentar aprender PDO Better






Related