相同的变量在一个代码中,mysql_query将正常工作


Same variables within one code, will mysql_query work properly?

我想知道我是否可以在相同的代码上使用相同名称的2个变量,它仍然可以工作,或者我需要给每个查询一个不同的名称?(我知道这是一个超级简单的问题);)

下面是一个例子:

$sql="DELETE FROM apps WHERE app_id='".$app_id."'";
mysql_query($sql) or die(mysql_error());
$sql="DELETE FROM statistics_apps WHERE app_id='".$app_id."'";
mysql_query($sql) or die(mysql_error());

是否需要将第二个$sql改为$sql2 ?

谢谢!

我是否需要将第二个$sql更改为$sql2?

。只要确保在$sql (version2)之前执行$sql (version1)
没有必要。

另一方面如果你正在做:

$sql="SELECT * FROM apps WHERE app_id='".$app_id."'";
$result = mysql_query($sql) or die(mysql_error());
$sql="SELECT *  FROM statistics_apps WHERE app_id='".$app_id."'";
$result2 = mysql_query($sql) or die(mysql_error());

你必须在不同的变量中保护$result查询句柄,如果你没有在之前从query1 中获取所有行,你将从query2开始。

只要在重新填充$sql变量之前调用第一个mysql_query($sql),就没有问题。你只需要使用一个变量然后给出另一个值:)

您不需要更改$sql变量。您所需要的是保持mysql_query的返回值。

$sql="DELETE FROM apps WHERE app_id='".$app_id."'";
$query1 = mysql_query($sql) or die(mysql_error());
$sql="DELETE FROM statistics_apps WHERE app_id='".$app_id."'";
$query2 = mysql_query($sql) or die(mysql_error());
var_dump(mysql_affected_rows($query1)); // deleted in apps
var_dump(mysql_affected_rows($query2)); // deleted in statistics_apps

不,您不需要为每个查询都有单独的变量,除非您需要/想要在稍后的代码中引用原始查询。

不,你不…因为在最后它像这样写:

mysql_query("DELETE FROM apps WHERE app_id='".$app_id."'") or die(mysql_error());
mysql_query("DELETE FROM statistics_apps WHERE app_id='".$app_id."'") or die(mysql_error());

变量$sql的值被更改