首页 > 解决方案 > 同一个变量似乎在 PHP 代码的不同部分具有不同的值

问题描述

我正在使用一个非常简单的代码将数据从 MySQL DB 提取到 CSV 文件。代码没有提供我预期的结果,所以我在 CSV 文件中编写了包含查询的代码。在代码的第一部分似乎包含查询结果的变量实际上不包含任何值,但在代码的另一部分中,变量包含正确的值。简而言之,同一个变量似乎在代码的不同部分包含两个值。

$sql="SELECT destinazione AS dest,ndc AS n FROM npitz";
$query = mysql_query($sql);

$q="ERROR";
while($row = mysql_fetch_array($query)) {
$query="DELETE FROM npitz_reduced_tmp WHERE 
        destinazione='".$row['dest']."' AND 
        ndc LIKE CONCAT('".$row['n']."','%') AND 
        ndc NOT LIKE '".$row['n']."'";
if($row['n']='77') $q=$query."   -   ".$row['n'];
mysql_query($query);
}

变量 $row['n'] 应该包含 SQL 查询的结果。在 while 循环之后,变量 $q 是:

DELETE FROM npitz_reduced_tmp WHERE destinazione='UNITED STATES' AND ndc LIKE CONCAT('','%') AND ndc NOT LIKE ''   -   77

问题是:如果在 IF 语句中 $row['n'] 的值是 '77' 为什么它在 $query 变量赋值中不一样?

标签: phpmysql

解决方案


您可能应该在 if 语句中使用==而不是=


推荐阅读