PHP-错误:没有选择数据库-读取数据库问题


PHP - Error: No database selected - reading from a database issue

我发现第一行中的数据库很热,我再也没有连接错误了。但不是。我收到一个错误,说没有选择数据库。问题可能是什么?我的代码正确吗?

第一次从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);
 ?> 

除了去掉mysqli_...函数外,还可以执行以下操作:

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

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


任何关注这个线程的人都会得到最终结果——问题出在数据库的名称上。这不是my_db,而是别的东西。

您的连接代码使用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());
}