2010-02-06 40 views
0

可能重复:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result警告:mysql_error():提供的参数不是一个有效的MySQL-Link的资源

 $err = mysql_query("INSERT INTO tridy (id,NazevTridy,url) VALUES (
      '$i', 
      '$tridy->find('div[class=rozvrhseznam]', 0)->find('a[href]', $i)->outertext', 
      '$tridy->find('div[class=rozvrhseznam]', 0)->find('a[href]', $i)->href')"); 
     mysql_error($err); // line 97 

警告:mysql_error():提供的参数在线97上的/hosting/www/cran-web.com/www/rozvrh/engine.php中不是有效的MySQL-Link资源

---线2-6:

$username="*****.com"; 
$password="*********"; 
$database="*********"; 
mysql_connect('127.0.0.1', $username, $password) or die('Could not connect'.mysql_error()); 
mysql_select_db($database) or die("Cannot select db."); 

当我尝试执行我查询我得到这个错误。你能告诉错误信息是什么意思,以及如何解决它?

+0

你应该真的保存由'mysql_connect'返回的mysql连接资源。 – poke 2010-02-06 17:58:55

+1

我知道你希望我们做什么很明显,但你至少可以提出一个适当的问题。 – 2010-02-06 17:59:20

回答

0

mysql_error()需要“链接资源”并且没有“结果资源”。特正确的方法是这样的:

$username="*****.com"; 
$password="*********"; 
$database="*********"; 
$connection = mysql_connect('127.0.0.1', $username, $password) or die('Could not connect'.mysql_error()); 
mysql_select_db($database, $connection) or die("Cannot select db."); 


$err = mysql_query("INSERT INTO tridy (id,NazevTridy,url) VALUES (
     '$i', 
     '$tridy->find('div[class=rozvrhseznam]', 0)->find('a[href]', $i)->outertext', 
     '$tridy->find('div[class=rozvrhseznam]', 0)->find('a[href]', $i)->href')", $connection); 
mysql_error($connection); // line 97 

心灵使用$connection。威乐$连接随处丢弃在

mysql_error(); 

它使用最后一个打开的连接或默认情况下打开一个新的。虽然取决于默认连接是不好的。您可能还想查看mysqliPDO作为与MySQL交谈的替代方法。

1

mysql_error($ err);删除论点! 它需要链接到资源而不是错误号码。

链接是用来识别不同的连接(你可以检索一个使用mysql_connect)阅读这个如果你需要更多。

0

您正在向mysql_error传递查询,您需要传递链接标识符。

0

另外请注意,mysql_query()处理INSERT返回true成功和false失败。

因此命名变量$err在某种程度上具有误导性,if($err)意味着没有错误发生,反之亦然。

更好:

$success = mysq_query("INSERT...."); 

if(!$success) { 
    // use of $connection is pointed to in other answers 
    $error_msg = mysql_error($connection); 

    // so some error handling 
} 

关于mysql_error()

参数:MySQL连接。如果没有指定连接标识,假设

和返回值由mysql_connect()打开了最后一个环节:

返回上一个MySQL的函数的错误文本,或“”(空字符串)如果没有发生错误。

所以你也东西与返回值。只需拨打mysql_error()就没用了!

相关问题