gpt4 book ai didi

PHP 变量(全局)似乎在下一个代码块中变为 NULL

转载 作者:行者123 更新时间:2023-11-30 21:27:58 25 4
gpt4 key购买 nike

我正在使用 PHP 来:

  1. 打开与 MySQL 数据库的连接。
  2. 从网站接收一些数据,并将这些数据插入到数据库中的表中。
  3. 从该表中获取最新的自动递增主键的值,并将该值存储在变量中。
  4. 获取该值并将其与其他数据一起插入到同一数据库中的另一个表中。

但是,在我获得最新 id 的值并将其放入变量后(即当我完成第 3 步并准备好进行第 4 步时),我的变量似乎变为 NULL。

这是我的代码:

<?php
if (authentication succeeds)
{
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error)
{
die($conn->connect_error);
}
if (!empty($_POST['SomeData']))
{
$sql = 'valid SQL statement';
if ($conn->query($sql) !== TRUE)
{
echo $conn->error;
} else {
$LastID = $conn->insert_id;
echo 'Checkpoint A: $LastID type is ' . gettype($LastID) . ' and value is ' . $LastID . ' ';
}
}
echo 'Checkpoint B: $LastID type is ' . gettype($LastID) . ' and value is ' . $LastID . ' ';
if (!empty($_POST['OtherData']))
{
echo 'Checkpoint C: $LastID type is ' . gettype($LastID) . ' and value is ' . $LastID . ' ';
}
}
?>

在Checkpoint A和Checkpoint B,$LastID是一个整数,但是在Checkpoint C,$LastID是NULL。 ...为什么?

最佳答案

您不能在变量声明之前引用它。您可以在几个不同的地方声明变量:

  1. 在类主体中作为类字段。此处声明的变量称为类级变量。
  2. 作为方法或构造函数的参数。
  3. 在方法体或构造函数体中。
  4. 在语句 block 内,例如在 while 或 for block 内。

您可以通过在 $conn = new mysqli($servername, $username, $password, $dbname); 之前或之后添加 $LastID = null;

关于PHP 变量(全局)似乎在下一个代码块中变为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57950206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com