【问题标题】:Assign value from $data['id']; [closed]从 $data['id']; 赋值[关闭]
【发布时间】:2019-07-31 11:58:56
【问题描述】:

我正在尝试将 $data['id'] 的值分配给这样的变量:

$totalfor = $data['id'];

但这不起作用,该值没有传递给 $totalfor

如果我回显$data['id'],它会给出正确的值,即 85

我需要 $data['id'] 的值才能将其用于 Select 查询

有人知道实现此目的的正确语法吗? 谢谢

代码如下:

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";  

$jury = get_active_user('accountname'); 
$totalfor =  $data['id'];

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT total AS total FROM votestepone WHERE votefor = '$totalfor' AND votedby= '$jury'";
$result = $conn->query($sql);                       
if ($result = mysqli_query($conn, $sql)) {
    while ($row = mysqli_fetch_assoc($result)) {
        $totalvote = $row["total"];
    }
} else {
    echo "0 results";
}

?>

<?php echo $totalvote; ?>

错误是:未定义变量:totalvote

如果我设置 $totalfor = 85; --> 有效 但我需要使用来自 $data['id'];

的值

我在一个视图页面中,$data['id'] 来自:

$data = $this->view_data;

如果我 &lt;?php echo $data['id']; ?&gt; 它显示 85

【问题讨论】:

  • 这是正确的语法。它有效:3v4l.org/SJaGN。没有人会猜到你的代码中在起作用的地方。
  • 尝试向我们展示成功回显 $data[“I'd”] 并显示 $totalfor 未分配的代码。
  • 为了更快地获得帮助,我们需要您的代码。发布所有代码
  • 你的代码中 $data['id'] 来自哪里?如果您在查询中使用 $data['id'] 代替 $totalfor 是否有效?
  • 如果您向我们展示文件的顶部,则不应定义 $data['id'],除非该文件包含在某处。

标签: php variable-assignment


【解决方案1】:

mysqli_query 在有错误时返回 false,而不是在没有结果时返回。错误表明 $totalvote 未定义,而不是 $totalfor,因此查询未找到单个结果。

var_dump($sql) 并确保查询正确,并且在针对您的数据库运行时确实会获取结果行。

【讨论】:

  • 感谢@blahy 和大家让我走上正确的道路。我的错误是专注于没有所需信息的表 votestepone。所以我先向另一个表添加一个查询,然后其余代码运行良好。
猜你喜欢
  • 2013-01-03
  • 2014-04-12
  • 2012-10-02
  • 1970-01-01
  • 2012-02-03
  • 2019-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多