我想知道我是否可以在同一个代码上使用同名的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
?
谢谢!
答案 0 :(得分:2)
我是否需要将第二个$ sql更改为$ sql2?
没有。只要你确保在$ sql(version2)之前执行$ sql(version1)
没有必要。
另一方面 if :
$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());
如果您在使用query2开始之前未从query1 获取所有行,则必须保护不同变量中的$result
查询句柄。
答案 1 :(得分:1)
只要在重新填充$ sql-variable之前调用第一个mysql_query($sql)
,就没问题了。你只需使用一个你只给出另一个值的变量:)
答案 2 :(得分:1)
您无需更改$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
答案 3 :(得分:1)
不,您不需要为每个查询都有一个单独的变量,除非您需要/想要在代码的某个稍后的位置引用原始查询。
答案 4 :(得分:1)
不,你不......因为最后它写的是:
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
的值已更改