这是我经常收到错误的代码。相同的包含文件在其他页面上工作,我只是在这个页面上得到问题。下面是错误
警告:MySQL():在第18行的/var/www/html/spywgc/adm/ctshell/getproduct/getproduct.php中,提供的参数不是有效的mysql_select_db资源
下面是实际的代码:
<?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;
}
?>发布于 2011-04-16 03:23:37
mysql_select_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 ...发布于 2011-04-16 03:40:23
我假定这两个变量$spyware和$database_spyware是全局的,因为它们被定义(如果有的话)在函数的作用域之外,并且没有被声明为null。尝试添加
global $database_spyware, $spyware在函数开始时,访问(..)。
发布于 2011-04-16 03:22:55
您是否检查了初始数据库连接调用是否成功?这会在失败时返回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());
}应该是最低限度的可接受错误处理。
https://stackoverflow.com/questions/5681336
复制相似问题