Я пытаюсь создать функцию для своего проекта. Я бы хотел, чтобы это выполнило все функции проверки. Что я имею в виду, так это то, что вы начнете вставить строку в свою базу данных, вы проверяете, существует ли строка с этим адресом электронной почты. < /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
Вспомогательная функция для MySQLI, которая динамически связывает параметры в подготовленном операторе? ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Использование одного параметра несколько раз в подготовленном операторе mysqli
Anonymous » » в форуме Php - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-