function db_user_insert($dbh, $user) { $query = 'INSERT INTO users(nickname,email,password,fullname,gender,newsletter) VALUES(?,?,?,?,?,?)'; // подготовливаем запрос для выполнения $stmt = mysqli_prepare($dbh, $query); if ($stmt === false) { db_handle_error($dbh); } mysqli_stmt_bind_param($stmt, 'sssssi', $user['nickname'], $user['email'], $user['password'], $user['fullname'], $user['gender'], $user['newsletter']); // выполняем запрос и получаем результат if (mysqli_stmt_execute($stmt) === false) { db_handle_error($dbh); } // получаем идентификатор вставленной записи $user['id'] = mysqli_insert_id($dbh); // освобождаем ресурсы, связанные с хранением результата и запроса mysqli_stmt_close($stmt); return $user; }
function db_product_find_like_title($dbh, $find_title) { $query = 'SELECT * FROM products WHERE title LIKE ? OR description LIKE ?'; $result = array(); // подготовливаем запрос для выполнения $stmt = mysqli_prepare($dbh, $query); if ($stmt === false) { db_handle_error($dbh); } $find_title = trim($find_title); $find_title = "%" . $find_title . "%"; mysqli_stmt_bind_param($stmt, 'ss', $find_title, $find_title); // выполняем запрос и получаем результат if (mysqli_stmt_execute($stmt) === false) { db_handle_error($dbh); } // получаем результирующий набор строк $qr = mysqli_stmt_get_result($stmt); if ($qr === false) { db_handle_error($dbh); } // последовательно извлекаем строки while ($row = mysqli_fetch_assoc($qr)) { $result[] = $row; } // освобождаем ресурсы, связанные с хранением результата и запроса mysqli_free_result($qr); mysqli_stmt_close($stmt); return $result; }
function db_product_find_by_category_id($dbh, $category_id) { $query = 'SELECT p.*, c.title as category_title FROM products p INNER JOIN categories c ON c.id=p.category_id WHERE p.category_id=?'; $result = array(); // подготовливаем запрос для выполнения $stmt = mysqli_prepare($dbh, $query); if ($stmt === false) { db_handle_error($dbh); } mysqli_stmt_bind_param($stmt, 's', $category_id); // выполняем запрос и получаем результат if (mysqli_stmt_execute($stmt) === false) { db_handle_error($dbh); } // получаем результирующий набор строк $qr = mysqli_stmt_get_result($stmt); if ($qr === false) { db_handle_error($dbh); } // последовательно извлекаем строки while ($row = mysqli_fetch_assoc($qr)) { $result[] = $row; } // освобождаем ресурсы, связанные с хранением результата и запроса mysqli_free_result($qr); mysqli_stmt_close($stmt); return $result; }