Lan*_*ens 2 php mysql syntax boolean
我有以下PHP代码:
$con = mysql_connect("localhost","name","pass") or die(mysql_error());
$db = "db";
mysql_select_db($db,$con);
Run Code Online (Sandbox Code Playgroud)
根据我的经验,$con应该是真是假.当echo $con我得到:
Resource id #25
Run Code Online (Sandbox Code Playgroud)
如果我执行以下代码,则echo永远不会触发(在上述语句之后可以预期):
if($con) { echo "it worked"; }
Run Code Online (Sandbox Code Playgroud)
当我针对此连接运行查询时,一切都按预期工作.有没有理由说这$con不是真或假?
我究竟做错了什么?
谢谢
检查mysql_connect返回值:
Returns a MySQL link identifier on success or FALSE on failure.
Run Code Online (Sandbox Code Playgroud)
所以检查连接:
if($con !== false) { echo "it worked"; }
Run Code Online (Sandbox Code Playgroud)
或者在出现错误时退出:
if (!$con) {
die('Could not connect: ' . mysql_error());
}
Run Code Online (Sandbox Code Playgroud)
但是请注意,最好使用MySQLi或PDO_MySQL,mysql_connect因为它很快就会被弃用:
警告
自PHP 5.5.0起,此扩展已弃用,将来将被删除.相反,应该使用MySQLi或PDO_MySQL扩展.另请参阅MySQL:选择API指南和相关的常见问题解答以获取更多信息.该功能的替代方案包括:
mysqli_connect()
PDO :: __结构()