Я создал функцию для получения запроса (receiveQuery
) и его обработки.Он может получить INSERT
, DELETE
, SELECT
или UPDATE
.Также я вызываю эту функцию из другой функции (getParameter
), которая отправит запрос в первый запрос.Я передаю arrayWithValues
со всеми значениями, которые будут использоваться в SELECT
, DELETE
, UPDATE
или INSERT
.
У меня возникает следующая ошибка:
Fatal error: Call to undefined method mysqli_stmt::get_result
Я понимаю, что мне пришлось перейти на bind_result
, но я не смог этого сделать.Не могли бы вы помочь мне решить эту проблему?
function receiveQuery($query, $mysqli1, $arrayWithValues)
{
global $stmt;
$stmt = $mysqli1->prepare($query);
$arrayCount = count($arrayWithValues);
if ($arrayCount >= 1)
{
$s = "";
for ($x = 0; $x < $arrayCount; $x ++)
{
$s .= 's';
}
array_unshift($arrayWithValues,$s);
$tmp = array();
foreach($arrayWithValues as $key => $value) $tmp[$key] = &$arrayWithValues[$key];
call_user_func_array(array($stmt, 'bind_param'), $tmp);
}
$stmt->execute();
$result = $stmt->get_result();
return $result;
}
function getParameter($modulo, $descripcion)
{
$valor = NULL;
$arrayWithValues = array($modulo, $descripcion);
$mysqli1 = conectar2();
$query = "SELECT clmValor
FROM tblParametro
WHERE clmModulo = ?
AND clmDescripcion = ?";
$result = receiveQuery($query, $mysqli1, $arrayWithValues);
$foundRecords = $result->num_rows;
cerrarCon($mysqli1);
if ($foundRecords > 0)
while ($rs = $result->fetch_assoc())
$valor = $rs['clmValor'];
return $valor;
}