如何在超链接中显示PHP变量?

如何在超链接中显示PHP变量?,php,mysql,Php,Mysql,我正在尝试回显一个变量,以便它显示在我的超链接中。以下是我当前的代码: <?php if (!defined("WHMCS")) die("This file cannot be accessed directly"); $customerserviceid = mysql_query("SELECT id FROM `tblhosting` WHERE `userid` = '{$_SESSION['uid']}'"); function limitOrders(

我正在尝试回显一个变量,以便它显示在我的超链接中。以下是我当前的代码:

<?php

if (!defined("WHMCS"))
        die("This file cannot be accessed directly");


$customerserviceid = mysql_query("SELECT id FROM `tblhosting` WHERE `userid` = '{$_SESSION['uid']}'");

function limitOrders($vars) {
        if(mysql_num_rows(mysql_query("SELECT packageid FROM `tblhosting` WHERE `userid` = '{$_SESSION['uid']}'")) > 0) {

                if($packageid = '1' || $packageid = '2' || $packageid = '3' || $packageid = '4' || $packageid = '5' || $packageid = '6' || $packageid = '7' || $packageid = '8' || $packageid = '9' || $packageid = '10') {
                global $errormessage;
                $errormessage = "<li>It looks like you already have an account!  Please <a href='http://mywebsite.com/upgrade.php?type=package&id=$customerserviceid'>click here</a> to upgrade or downgrade your account.</li>";
                }
        }
}
add_hook("ShoppingCartValidateCheckout", 1, "limitOrders");
?>


我尝试在第14行的URL中添加
$customerserviceid
,但它显示为空白,因此我猜我没有正确添加内容。当我在phpMyAdmin中运行查询时,它确实显示了我想要的内容,因此查询本身应该是正确的…

我认为您需要获取数据您只是执行了一个查询以从数据库中选择数据,但您没有打印结果您可以使用以下方法:

$query = mysql_query("SELECT id FROM `tblhosting` WHERE `userid` = '{$_SESSION['uid']}'");
$customerserviceid=mysql_fetch_array($query);

您需要从查询结果中获取结果,然后使用
global
访问全局变量

<?php
if (!defined("WHMCS"))
        die("This file cannot be accessed directly");

$result = mysql_query("SELECT id FROM `tblhosting` WHERE `userid` = '{$_SESSION['uid']}'");
$row = mysql_fetch_assoc($result);
$customerserviceid = $row['id'];

function limitOrders($vars) {
    global $customerserviceid;
    if(mysql_num_rows(mysql_query("SELECT packageid FROM `tblhosting` WHERE `userid` = '{$_SESSION['uid']}'")) > 0) {

        if($packageid = '1' || $packageid = '2' || $packageid = '3' || $packageid = '4' || $packageid = '5' || $packageid = '6' || $packageid = '7' || $packageid = '8' || $packageid = '9' || $packageid = '10') {
        global $errormessage;
        $errormessage = "<li>It looks like you already have an account!  Please <a href='http://mywebsite.com/upgrade.php?type=package&id=$customerserviceid'>click here</a> to upgrade or downgrade your account.</li>";
        }
    }
}
add_hook("ShoppingCartValidateCheckout", 1, "limitOrders");
?>

mysql\u查询返回一个resourcse。您需要从资源中获取数据。你可以这样做

$result= mysql_query("SELECT id FROM `tblhosting` WHERE `userid` = '{$_SESSION['uid']}'");
$row = mysql_fetch_assoc($result);
$customerserviceid = $row['id'];

这应该是可行的。

mysql\u query
不返回字符串,它返回一个资源。您必须调用
mysql\u fetch\u array
从数据库中获取行,然后索引该行以获取ID。您需要一个
global
语句才能访问函数外部分配的变量。我刚刚尝试过,当鼠标悬停在链接上时,它似乎仍然显示为空。可能是
$customerserviceid
应该被回显或类似的东西……不,不可能。分配字符串时,变量将展开。如果回显字符串,它将包含变量的值。您确定查询找到了什么吗?您是否在脚本开始时调用了
session\u start()
?您完全正确,这是我这边的一个错误,现在它与您的代码完美配合。谢谢你的帮助!