我发现第一行中的数据库很热,我再也没有连接错误了。但不是。我收到一个错误,说没有选择数据库。问题可能是什么?我的代码正确吗?
第一次从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());
}