Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 警告:mysql\u select\u db():提供的参数不是有效的mysql链接资源_Php_Mysql_Connection - Fatal编程技术网

Php 警告:mysql\u select\u db():提供的参数不是有效的mysql链接资源

Php 警告:mysql\u select\u db():提供的参数不是有效的mysql链接资源,php,mysql,connection,Php,Mysql,Connection,这就是我经常出错的代码。其他页面上的include文件也是一样,我只是在这个页面上遇到了问题。这里是错误 警告:mysql_select_db():第18行的/var/www/html/spywgc/adm/ctshell/getproduct/getproduct.php中提供的参数不是有效的mysql链接资源 下面是实际代码: <?php require_once('../../../Connections/spyware_adm.php'); ?> <?php requi

这就是我经常出错的代码。其他页面上的include文件也是一样,我只是在这个页面上遇到了问题。这里是错误

警告:mysql_select_db():第18行的/var/www/html/spywgc/adm/ctshell/getproduct/getproduct.php中提供的参数不是有效的mysql链接资源

下面是实际代码:

<?php require_once('../../../Connections/spyware_adm.php'); ?>
<?php require_once('../../../includes/lib_gen.php'); ?>

<?php
//function for returing status of website
function Visit($url)
{
    echo $url;
    mysql_select_db($database_spyware, $spyware) || die(mysql_error());
    $select_url= "select product_id from sp_url where url like '%{$url}%'";
    echo $select_url;
    $run_url= mysql_query($select_url, $spyware);
    $result_descr = mysql_fetch_assoc($run_url);
    echo $result_descr;
    return $result_descr;

}
?>


您是否检查了初始数据库连接调用是否成功?它在失败时返回false,就像大多数mysql函数一样。此外,您还没有检查查询是否成功。它很可能失败并返回FALSE,然后将其传递到fetch调用:

$database_spyware = mysql_connect(...);
if ($database_spyware === FALSE) {
   die("Connection failed: " . mysql_error());
}

... etc ...

$run_query = mysql_query(...);

if ($run_query === FALSE) {
   die("Query failed: " . mysql_error());
}
应该是可接受的最小错误处理。

mysql\u select\u db()
希望第二个参数是资源标识符=您的连接。问题是,您正在将其作为一个函数运行,但在其中未建立连接。您必须从以下内容开始函数:

function Visit($url)
{
    $spyware = mysql_connect(); // set this to connect properly
    echo $url;
    mysql_select_db($database_spyware, $spyware) || die(mysql_error());
    // the rest of your function goes on ...

我认为这两个变量
$spyware
$database\u spyware
null
,因为它们的定义(如果有的话)超出了函数的范围,并且没有声明为全局。尝试添加

global $database_spyware, $spyware

在函数访问(..)开始时。

我甚至在它执行查询之前就收到了警告。的可能重复