#php #mysql
#php #mysql
Вопрос:
Мне интересно, могу ли я использовать 2 переменные с одинаковыми именами в одном коде, и это все равно будет работать, или мне нужно дать каждому запросу имя diff? (Я знаю, что это очень простой вопрос) 😉
Вот пример:
$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
?
Спасибо!
Ответ №1:
Нужно ли мне менять второй $ sql на $ sql2?
Нет. если вы убедитесь, что выполнили $sql (version1) перед $sql (version2)
В этом нет необходимости.
С другой стороны, если вы делаете:
$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.
Ответ №2:
пока вы вызываете свою первую mysql_query($sql)
, прежде чем пополнять свою $ sql-переменную, это не проблема. Вы просто используете одну переменную, которой вы просто присваиваете другое значение 🙂
Ответ №3:
Вам не нужно изменять свою $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
Комментарии:
1. если ему не нужно возвращаемое значение, ему не нужно присваивать его переменной 🙂
Ответ №4:
Нет, вам не нужно иметь отдельную переменную для каждого запроса, если только вам не нужно / не хотите ссылаться на исходный запрос на более позднем этапе кода.
Ответ №5:
Нет, вы этого не делаете … потому что в конце это как написать, что:
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
изменено