Вспомогательная функция для MySQLI, которая динамически связывает параметры в подготовленном операторе?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Вспомогательная функция для MySQLI, которая динамически связывает параметры в подготовленном операторе?

Сообщение Anonymous »

Я пытаюсь создать функцию для своего проекта. Я бы хотел, чтобы это выполнило все функции проверки. Что я имею в виду, так это то, что вы начнете вставить строку в свою базу данных, вы проверяете, существует ли строка с этим адресом электронной почты. < /p>

Для динамического использования этой функции она должна быть гибкой. Поэтому я поместил свои переменные в массив, но mysqli_stmt_bind_param не может обрабатывать массивы. В качестве решения я попытался сделать Foreach < /code> loop. < /P>

Запрос: < /p>

$sql = "SELECT users_id, users_email FROM users WHERE users_id = ? AND users_email = ?;";
< /code>

Вызов функции: < /p>

check_database($sql, array($id, $mail), array("s", "s"), $location);
< /code>

Моя исходная функция: < /p>

function check_database($sql, $variables, $types, $location)
{
require $_SERVER['DOCUMENT_ROOT'] . '/includes/db/db.inc.php';
$stmt = mysqli_stmt_init($conn);
if (!mysqli_stmt_prepare($stmt, $sql)) {
header("Location: " . $location . "?error=sqlerror");
exit();
} else {
mysqli_stmt_bind_param($stmt, $types, $variables);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
if (!$row = mysqli_fetch_assoc($result)) {
return true;
}
}
}
< /code>

Я добавил foreach < /code> в mysqli_stmt_bind_param < /code> Как это: < /p>

foreach ($types as $index => $type) {
mysqli_stmt_bind_param($stmt, $type, $variables[$index]);
}
< /code>

Это дает мне ошибку, и я не знаю, как ее решить: (< /p>


Предупреждение: mysqli_stmt_bind_param (): количество переменных не совпадает с номером параметров в подготовленном>

Подробнее здесь: https://stackoverflow.com/questions/604 ... -statement
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»