Ağı aradım ve şimdiye kadar gördüğüm şey şu mysql_
ve mysqli_
birlikte anlamını kullanabileceğiniz :
<?php
$con=mysqli_connect("localhost", "root" ,"" ,"mysql");
if( mysqli_connect_errno( $con ) ) {
echo "failed to connect";
}else{
echo "connected";
}
mysql_close($con);
echo "Done";
?>
veya
<?php
$con=mysql_connect("localhost", "root" ,"" ,"mysql");
if( mysqli_connect_errno( $con ) ) {
echo "failed to connect";
}else{
echo "connected";
}
mysqli_close($con);
echo "Done";
?>
Geçerli ancak bu kodu kullandığımda elde ettiğim şey:
Connected
Warning: mysql_close() expects parameter 1 to be resource, object given in D:\************.php on line 9
Done
Hariç ilk ve aynı şey için mysqli_close()
. İkincisi için.
Sorun nedir? mysql_
Ve mysqli
birlikte kullanamaz mıyım? Yoksa normal mi? Bağlantıların geçerli olup olmadığını kontrol etmenin bir yolu var mı? (the if(mysq...)
)
mysql_*
Fonksiyonları tamamen kullanmaktan kaçınmalısınız . Hataya eğilimli ve güvensizdirler ve yakında PHP'den kaldırılacaklar ( şu anda kullanımdan kaldırılmış olarak işaretlenmişlerdir ). [Bu harika yanıt] [0], neden kötü olduklarını açıklayan daha fazla ayrıntıya giriyor . [0]: stackoverflow.com/a/12860046/1055295
mysqli_*
işlevlerle kötü kod yazabilir ve işlevlerle iyi kod yazabilirsiniz mysql_*
. Ancak ikinci kategori, düşük işlevler kümesi olduğundan, OO tarzı çağrıları veya hatta hazırlanmış ifadeleri destekleyemediğinden (yalnızca iki örnek belirtmek gerekirse) kullanımdan kaldırıldı olarak işaretlenmiştir. Aynı işi yapmak için, biri uzun vadede açıkça daha iyi ve daha esnek olan iki araç seçeneği göz önüne alındığında, doğru cevap açık değil mi?