可能重复:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result
$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 :(得分:1)
mysql_error($ ERR);删除参数! 它需要链接到资源而不是错误数。
链接用于识别不同的连接(您可以使用mysql_connect检索一个),如果您需要更多,请阅读此内容。
答案 1 :(得分:0)
您正在将查询传递给mysql_error,您需要传递链接标识符。
答案 2 :(得分: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
。 Wile $连接可以随处丢弃,如
mysql_error();
默认使用上次打开的连接或打开新连接。虽然取决于默认连接是坏的。您可能还想查看mysqli或PDO作为与MySQL交谈的替代方法。
答案 3 :(得分: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连接。如果未指定链接标识符,则假定
mysql_connect()
打开的最后一个链接
和返回值:
返回上一个MySQL函数的错误文本,如果没有错误,则返回''(空字符串)。
所以你也做一些带有返回值的东西。只是打电话给mysql_error()
没用!