【问题标题】:How to use PHP variable in Javascript?如何在 Javascript 中使用 PHP 变量?
【发布时间】:2011-05-09 10:26:44
【问题描述】:

我知道你不能在 javascript 代码中直接使用 PHP 变量,但是有没有办法绕过它?我需要在 javascript 中使用这些参数:

username: '<?php echo $user_id;?>.example.co.uk',
password: 'example',

它不显示 $user_id 变量,而是输出:"Resource id #4.example.co.uk"

我对 javascript 很陌生,所以我觉得它很棘手。

感谢您的帮助

编辑:我从 URL 中获取 $user_id 变量,如下所示:

$user_id = mysql_real_escape_string($_GET["user_id"]);

所以它不应该只具有来自 URL 的设置值吗?

【问题讨论】:

  • $user_id; 来自哪里?看起来像结果资源
  • 从 JS 端看,你所拥有的看起来还不错。从 PHP 端,你试图回显 something;你需要回显一个字符串(否则你会得到这个)。
  • 当您的 Javascript 由 PHP 生成时,您可以在“内部”Javascript 中使用 PHP 变量。

标签: php javascript variables


【解决方案1】:

我对 PHP 有点生疏,但这可能有用:

<? //start HTML/Javascript code... 
    echo'var variable = ' . $user_id . '.example.co.uk';
    //finish HTML/Javascript here..
?>

【讨论】:

    【解决方案2】:

    您可以在任何 html 对象中分配该 php 值,然后在 js 页面中使用该对象值

    例如

    PHP

    $phpvalue = $_GET["sid"];
    

    HTML

    <input type="text" value="<?php echo $phpvalue ;?>" id="txtsamp" />
    

    JS

    var phpval = document.getElementById('txtsamp').value;
    

    【讨论】:

      【解决方案3】:

      Resource id #4 表示你刚刚没有完成 mysql 查询

      mysql_query 返回资源 ID

      你必须使用while ($row=mysql_fetch_array())获取数据然后使用

      written here

      对于选择、显示、描述、解释 和其他语句返回 结果集,mysql_query() 返回一个 成功的资源,或 FALSE 错误。

      对于其他类型的 SQL 语句, 插入、更新、删除、删除等, mysql_query() 成功时返回 TRUE 或 FALSE 错误。

      更新

      不要使用mysql_real_escape string 获取数据。而是使用(int)$_GET['id']

      see here

      如果没有找到连接或 已建立,E_WARNING 级别错误 生成

      【讨论】:

      • 您好 diEcho,感谢您的回复。我正在使用 $user_id 变量,如下所示: $user_id = mysql_real_escape_string($_GET["user_id"]);所以我不确定如何使用 while... 代码。请给我看看好吗?谢谢
      • mysql_query returns Resource id #4#4 并非在所有情况下都为真
      • 我已经删除了 real_escape 部分,所以现在我有了 $user_id = $_GET["user_id"];但我不确定在 (int) 部分放什么。删除 real_escape 代码后,输出仍然相同
      • 您正在使用该 user_id 从数据库中检索数据...对吗?那么你简单的mysql_query('your query'); 然后使用mysql_fetch_array() 获取数据然后做你想做的任何事情......一个一个调试
      • 我没有使用 user_id 以任何方式访问数据库,我想要它做的只是在页面上显示用户名,以便人们可以访问不同的 URL 以使用不同的用户名(内部事情)
      【解决方案4】:

      如果您只选择了一列(预计为 1 行),您可以使用:

      $user_id = mysql_result($user_id, 0);
      

      这将获取结果集$user_id的第一行的第一列。

      但为了清楚起见,您应该重命名变量 $user_id,因为它不是 ID,而是资源(所以称它为 $userQuery 或其他东西 =)。

      【讨论】:

        【解决方案5】:

        您不能直接使用mysql_query()result。相反,您必须使用 mysql_result() 或类似的东西(取决于您的 SQL 查询)。

        【讨论】:

          猜你喜欢
          • 2018-01-30
          • 2011-12-12
          • 2012-01-23
          • 1970-01-01
          • 2020-02-01
          • 2014-02-09
          • 2013-01-30
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多