无法访问SQL数据库表,但可以访问同一数据库上的其他数据库
问题描述:
我有一个包含三个表(用户,更新和错误)的数据库。无法访问SQL数据库表,但可以访问同一数据库上的其他数据库
我设置了一个用户和所有爵士乐。在我的PHP我已经连接到数据库和连接工作得很好。当我尝试访问这样的数据库
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /members/pages/updates.php on line 13
:
include ("../includes/connect_to_db_member.php");
$getUpdates = mysql_query(" SELECT * FROM update ");
if(!$getUpdates)
echo "No Updates! <br />";
while($row = mysql_fetch_array($getUpdates))
{
//echo $row['date'] . " " . $row['title'] . "<br />";
//echo $row['content'];
}
我使用相同的代码,但是从更改表名称然而,当我尝试访问更新表我得到这个错误更新到错误或用户,它工作得很好。我不明白正在给我的错误,所以我想知道是否有人知道发生了什么或有这样的错误?
答
update
是mysql reserved word让你有反引号括这样
$getUpdates = mysql_query(" SELECT * FROM `update` ");
作为一个侧面说明,你应该考虑从mysql_
切换到PDO
+0
我会读你的建议。再次感谢。 – ragebunny 2012-01-05 12:48:28
答
UPDATE
是保留键MySQL
,重命名您的表。
答
的keyword update
已经提到。重命名表或使用反引号to mark the identifier as such。
- mysql_query返回一个falsy值并不意味着结果集是空的。这表示错误,请参阅mysql_error
- connect_to_db_member.php应该以某种方式使mysql_connect()返回的mysql资源可以访问,以便将它传递给其他mysql_函数,例如, mysql_query('SELECT ...',$ mysql)
- 如果没有数据库连接,你的脚本不能“活”,即connect_to ... php不是可选的。因此,我会使用
require
而不是include
- 对于发生故障的数据库连接,您是否有一些错误处理?
例如
<?php
require '../includes/connect_to_db_member.php';
$getUpdates = mysql_query(" SELECT * FROM `update` ");
if(!$getUpdates) {
echo "an error occured ";
echo mysql_error();
die();
}
$row = mysql_fetch_array($getUpdates);
if (!$row) {
echo 'no updates';
}
else {
do
{
//echo $row['date'] . " " . $row['title'] . "<br />";
//echo $row['content'];
} while(false!==($row = mysql_fetch_array($getUpdates)));
}
'update'是一个mysql保留字,将它括在'backticks'中。看看[这](http://stackoverflow.com/questions/8701062/expects-parameter-1-to-be-resource-man-boolean-given/8701110#8701110)你有类似的问题 – 2012-01-05 12:36:58
就是这样!非常感谢!哦,如果你把这个作为答案,我会打个盹。 – ragebunny 2012-01-05 12:40:42