У меня есть хранимые процедуры, вызываемые в моем php-файле:
// PROCEDURE SQL
$sql2 = "SELECT * FROM tmp ORDER BY day ASC;";
//CALL WITH SESSION VARS
if(!$mysqli->query("CALL proc1('". $_SESSION['var1']." ', '". $_SESSION['var2'] ." 00:00:00','". $_SESSION['var3'] ." 00:00:00');"))
die($mysqli->error);
//EXEC SQL2
$result = $mysqli->query($sql2)
or die($mysqli->error);
$i=0;
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
//do some calculs on fetched results and get value from $row['x']
if($row['r2'] == NULL){
// SECOND PROCEDURE SQL
// note : table name and procedure name are different
$sql3 = "SELECT r2 FROM temp ORDER BY day DESC LIMIT 1;";
//CALL WITH SESSION VARS AND LARGER DATE
if(!$mysqli->query("CALL proc2('". $_SESSION['var1']." ', '2017-01-01 00:00:00','". $_SESSION['var4'] ." 00:00:00');"))
die($mysqli->error);
//EXEC
$result2 = $mysqli->query($sql3)
or die($mysqli->error);
while ($row2 = $result2->fetch_array(MYSQLI_ASSOC)) {
$value_r2 = $row2['r2'];
}
Причина, по которой я хочу это сделать, заключается в том, что я хочу изменить значение моих данных, извлеченных при первом вызове, если оно возвращает ноль
Как вы можете заметить, мои две процедуры не совпадают, и имена таблиц каждой процедуры также различны, так как я могу иметь "временную таблицу уже существует" на моей веб-странице, когда я загружаю этот код?
РЕДАКТИРОВАТЬ:
Мои процедуры извлекают результаты из моей базы данных и вставляют данные во временную таблицу.
Временные таблицы не имеют одинакового имени.
Затем, когда я вызываю процедуру, я делаю запрос к связанной временной таблице.