当我将我的工作代码从本地转移到我的专用主机时,查询都没有工作,但是我能够连接到数据库。我知道它应该是微不足道的,但是自上个一小时以来我无法解决这个问题。
这是我的代码:
<?php
set_time_limit(0);
$DbCon = mysql_connect('localhost:1023','username','password');
mysql_select_db('dbname', $DbCon);
if (!$DbCon)
{
die('Could not connect: ' . mysql_error());
}
else
{
echo("wait...\n");
echo("Caching name...\n");
$query0="SELECT * FROM sometablename2";
$Result0 = mysql_query($query0,$DbCon);
$anarray=array();
$anotherarray=array();
while($records0 = mysql_fetch_array($Result0))
{
do something
}
}
我得到的输出是: 等待... 缓存名称... PHP警告:mysql_fetch_array()期望参数1是资源,第42行的/path/to/php/file/code.php中给出布尔值 PHP警告:mysql_free_result()期望参数1是资源,第56行的/path/to/php/file/code.php中给出布尔值
因此,很明显我能够连接到数据库,但没有来自此查询的输出。我在数据库中运行相同的查询,它正在工作。 任何指示都会非常有帮助。
答案 0 :(得分:2)
使用mysql_error功能查明错误。
mysql_query("SELECT * FROM nonexistenttable", $link);
echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
编辑:根据下面的评论,也可以尝试,例如:
// make foo the current db
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
die ('Can\'t use foo : ' . mysql_error());
}