【问题标题】:how to call a variable from one php function into another php function in the same page如何将一个php函数中的变量调用到同一页面中的另一个php函数中
【发布时间】:2016-10-05 04:50:55
【问题描述】:
 <?php
 $host = 'localhost';
 $dbname   = 'project';
$username = 'root';
$password = '1234';
$charset = 'utf8';


  try {
 $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);

 $sql = 'SELECT subject,description,time,date FROM status ORDER BY time DESC';


$q = $pdo->query($sql);

$q->setFetchMode(PDO::FETCH_ASSOC);
 $usid = ($row['userID']);
 $sql1 = 'SELECT status.subject, status.description, status.time , status.date , status.stno , status.userID , tbl_users.userID , tbl_users.Fname , tbl_users.Lname 
  FROM status , tbl_users WHERE status.userID=tbl_users.userID ORDER BY status.time DESC';



 $q1 = $pdo->prepare($sql1);
$q1->execute([$usid]);
$q1->setFetchMode(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
die("Could not connect to the database $dbname :" . $e->getMessage());
}

 ?>

这是我的代码,我使用 PDO 在我的 html 文件中调用了一些变量,例如

<?php echo htmlspecialchars($row1['Fname']); ?>&nbsp;<?php echo htmlspecialchars($row1['Lname']); ?>

现在我想在同一页面中添加另一个 php 脚本,并且需要 Lname 这是 mysql 中列的名称,以便在同一页面的另一个 php 脚本中存在,但我没有不知道怎么称呼他们,请帮帮我

【问题讨论】:

  • 快速而肮脏的方法是将变量声明为global
  • @Jeff 可以告诉我我可以在我的第一个脚本中放入的代码和在我的第二个脚本中的调用代码,以便它可以帮助我,拜托...
  • 这太模糊了。您说的是函数,但我在您的代码中看不到任何函数。我很困惑,不知道如何回答,因为我不确定你要做什么。

标签: javascript php mysql pdo


【解决方案1】:

我不确定您所说的“我想在同一页面中添加另一个 php 脚本”是什么意思。

但是,如果您在声明 $Lname 变量之后使用require_once 'file';include 'file',它将自动继承在包含之前声明的所有变量

所以,像这样:

PHP 文件 1:

<?php
  $variable = "I'm a variable";
  //some script here
  require_once 'my2ndscript.php';
  $wrongVariable = "this will not be inherited by my2ndscript.php";
?>

PHP文件2,my2ndscript.php:

<?php
  echo $variable;
  echo $wrongVariable;
?>

结果将是“我是一个变量”,并带有“未定义错误变量”的警告

如果您真的在谈论函数而不是丢失脚本,那么您可以使用“全局”变量作为一种草率的方式。但是,不建议这样做,也不会被很多人所欣赏。像这样:

<?php 
  $variable = "foo";

  function renderFoo(){
    global $foo; //foo is now available because you said you want to inherit it.
    echo $foo;
  }

  renderFoo();
?>

另一种方法是添加参数。您可以将参数传递给任何函数,如下所示:

  $variable = "foo";

  function renderFoo($Lname){
    echo $Lname; //is automatically available as the argument
  }

renderFoo($variable);

【讨论】:

  • 两个文件都在一个页面上,我如何使用 include 或 require 一次?
  • 两个文件都在一个页面上是什么意思?这只是include 'pathToYourFile.php';
【解决方案2】:

查看global 关键字,了解初学者级别的非面向对象设计。

没有任何你正在使用的例子,我猜你想尝试这样的事情

<?php
 $host = 'localhost';
 $dbname   = 'project';
 $username = 'root';
 $password = '1234';
 $charset = 'utf8';

 global $row;

 // code as normal


function example(){
   global $row;
   // now you have access to $row
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-17
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    • 2019-09-08
    • 2022-01-27
    • 2014-01-22
    相关资源
    最近更新 更多