我想知道我是否可以在相同的代码上使用相同名称的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
的值被更改