PHP - 错误:未选择数据库 - 从数据库问题中读取

时间:2012-08-29 23:11:04

标签: php mysql connection-string

我觉得很热,在第一行得到了我的数据库,我再也没有得到连接错误了。但是我没有得到一个错误,说没有选择数据库。问题可能是什么?我的代码是否正确?

首次从php中的mysql数据库中读取。 谢谢你的帮助。

<?php     

if (!($con = mysql_connect('host', 'user', 'pw'))) { 
   die('Connect failed: ' . mysql_error()); 
} 

mysql_select_db("my_db", $con) or die('Error select: '.mysql_error()); 



$result = mysql_query ('SELECT * FROM Gallerys') or die ('Error query: '.mysql_error ());

echo "<table border='1'>
 <tr>
 <th>Thumb Url </th>
 <th>Gallery Url</th>
 </tr>";

while($row = mysql_fetch_array($result))
   {
   echo "<tr>";
   echo "<td>" . $row['THUMBURL'] . "</td>";
   echo "<td>" . $row['GALLERYURL'] . "</td>";
   echo "</tr>";
   }
 echo "</table>";

mysql_close($con);
 ?> 

2 个答案:

答案 0 :(得分:2)

您的连接代码正在使用mysql_connect,但您的错误检查正在使用mysqli

if (mysqli_connect_errno()) {
    exit('Connect failed: '. mysqli_connect_error());
}

尝试更新至:

if (!($con = mysql_connect('host', 'user', 'pass'))) {
    die('Connect failed: ' . mysql_error());
}

或者,您可以更新mysql_*函数的所有引用以实际使用mysqli_*函数 - 因为建议这样做。这是解决手头问题的一个长期方法,但它也应该解决问题。

使用mysqli示例:

$con = mysqli_connect('host', 'user', 'pass', 'db_name');
if (!$con) {
    die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
}

答案 1 :(得分:2)

除了摆脱mysqli_...功能外,请执行以下操作:

mysql_select_db("my_db", $con) or die('Error: '.mysql_error());

这将告诉您选择数据库时发生了什么。我打赌你没有my_db,或者你没有权限打开它。


跟随此线程的任何人的最终结果 - 问题在于数据库的名称。它不是my_db而是其他东西。