首页 文章

警告:mysql_fetch_row()期望参数1是资源[重复]

提问于
浏览
5

可能重复:mysql_fetch_array()期望参数1是资源,在select中给出布尔值

我运行此脚本时收到以下消息:

警告:mysql_fetch_row()期望参数1是资源,字符串在第12行的/var/www/html/toolkit/routing.php中给出

我在mysql控制台中运行了查询并打印了正确的行 . 不知道为什么我不能让它出现在PHP?

routing.php页面:

<?php
error_reporting(E_ALL);
////error_reporting(0);
ini_set('display_errors', 'On');
include("db/sbc_config.php");
include("db/mysql.class.php");
$db = new MySQL(true, DB_DATABASE_ROUTING, DB_SERVER, DB_USER , DB_PASS);
if ($db->Error()) $db->Kill();

        $searchroute = "SELECT * FROM destination_route as d WHERE d.destPrefix='2146811'";

        $result = mysql_fetch_row($searchroute);
    echo $result;

    ?>

sbc_config.php:

<?php
//database server
define('DB_SERVER', "10.10.1.146");

//database login name"
define('DB_USER', "user");

//database login password
define('DB_PASS', "pasword");

//database names
define('DB_DATABASE_ROUTING', "routing");

//smart to define your table names also
define('TABLE_DESTINATION_ROUTE', "destination_route");


?>

4 回答

  • 0

    mysql_fetch_row必须在mysql_query之后调用,你不能将查询传递给fetch行 - 参见PHP Manual

  • 2

    您必须先执行查询才能获取结果:

    $searchroute = "SELECT *  ...";
    $results = mysql_query($searchroute);
    $row = mysql_fetch_row($results);
    
  • 7
    $db = new MySQL(true, DB_DATABASE_ROUTING, DB_SERVER, DB_USER , DB_PASS);
    

    那应该是MySQLi吗? mysql _ *()函数没有OOP接口 . 你正在迷上mysqli和mysql调用,这是不受支持的 . 它们在内部完全相互独立,并且一个db句柄或结果语句在另一个中不可用 .

  • 0

    mysql_fetch_row 接受游标并返回该游标中的下一行 . 你're trying to give it a string. You'错过了一步 .

    您必须先执行该查询:

    $cursor = mysql_query($searchroute); // for example
    $result = mysql_fetch_row($cursor);
    

相关问题