我在php中有以下代码:
<?php
$con = mysql_connect("localhost","john","john");
mysql_select_db("data", $con);
if (!$mysql_select_db) {
die ('Cannot use data : ' . mysql_error());
}
$result = mysql_query("SELECT * FROM test where huss='hussein'");
while ($row = mysql_fetch_array($result)) {
echo "ADSDAD";
echo "<br />";
}
if (!$con) {
die('ERROR Could not connect: ' . mysql_error());
}
mysql_close($con);
?>
我能够连接到MySQL服务器,但我似乎无法选择相关的数据库。
正在打印的是硬编码文本Cannot use data :
,但后面没有MySQL错误消息。如果MySQL连接失败,那么我原本期望在硬编码文本之后出现MySQL错误消息。
我做错了什么?
答案 0 :(得分:4)
问题出在这里:
mysql_select_db("data", $con);
if (!$mysql_select_db) {
die ('Cannot use data : ' . mysql_error());
}
您没有变量$mysql_select_db
,并且它没有神奇地映射到您上次调用mysql_select_db
的结果。
所以,相反:
$result = mysql_select_db("data", $con);
if (!$result) {
die ('Cannot use data : ' . mysql_error());
}
或者:
if (!mysql_select_db("data", $con)) {
die ('Cannot use data : ' . mysql_error());
}