Я пытаюсь преобразовать свои старые запросы в mysqli + prepare, но я мог бы использовать некоторую помощь. Моя старая петля выглядит примерно так: $query = "SELECT * FROM `table`;"; $result = @mysql_query($query); if (@mysql_num_rows($result) > 0) { for ($i=0; $i < @mysql_num_rows($result); $i++) { $row = @mysql_fetch_array($result); print $row['id']; print " – "; print $row['username']; […]
Как правильно обрабатывать ошибки с транзакциями и готовые инструкции при использовании mysqli? Snippet: <?php $conn = require_once 'dbconn.php'; $conn->autocommit(FALSE); $stmt_ins_option = $conn->prepare('INSERT INTO options(option_name) VALUES(?)'); $option_name = 'foo'; $stmt_ins_option->bind_param('s', $option_name); $stmt_ins_option->execute(); $conn->commit(); if($conn->errno) { $conn->rollback(); echo $conn->error; } Он не добавит его второй раз, потому что в этом столбце есть ограничение UNIQUE. Однако скрипт также […]
Например: если у меня есть этот запрос: SELECT * FROM table WHERE test = ? то я привязываю параметр, могу ли я добавить что-то в свой запрос? Если это возможно, дайте мне пример в PHP.
В настоящее время я использую MySQLi подготовленные операторы для обработки моей базы данных. Поскольку подготовленные операторы MySQLi генерируют ошибку только при неправильном соединении, я вынужден сам проверить ошибки и сам их выбросить. В PDO (который я буду использовать в будущем, потому что я убежден, что теперь он работает лучше), существует гораздо более эффективная обработка ошибок, […]
Я использую подготовленный оператор SELECT * из таблицы MySQL, и я не уверен, как использовать while($row = mysqli_fetch_array($stmt)) для циклического while($row = mysqli_fetch_array($stmt)) и выбора элементов из массива результатов. Это мой код, что я делаю неправильно? $link = mysqli_connect($host, $username, $password, $db); $query = "SELECT * from `wp_posts` WHERE ID=? "; //$result = mysqli_query($link, $query); […]
Я сделал это раньше, но я совершенно новичок в mysqli и подготовленных операциях (как я уверен, вы можете видеть из этой проблемы). Где я иду не так? вот моя функция соединения (часть класса «Connect») public function site_db() { // Connect to MySQL $link = mysqli_connect(SITE_HOST, SITE_ID, SITE_PW, SITE_DB); // Check for Errors if(mysqli_connect_errno()) { //echo […]
Я пытаюсь правильно подготовить свои данные для $ wpdb $region = $wpdb->get_results( $wpdb->prepare( " SELECT tr.*, count(*) AS jobs_count FROM {$wpdb->terms} tr INNER JOIN {$wpdb->term_taxonomy} tm ON ( tm.term_id = tr.term_id ) INNER JOIN {$wpdb->term_relationships} tmr ON ( tmr.term_taxonomy_id = tm.term_taxonomy_id ) INNER JOIN {$wpdb->posts} p ON ( p.ID = tmr.object_id ) WHERE (tm.parent = […]
Поэтому у меня есть этот оператор обновления, который, когда я выгружаю переменные $ _POST. Я получаю результаты, которые я хочу. $stmt = $dbConnectionW->prepare("UPDATE members SET fname='". mysqli_real_escape_string($dbConnectionW, $_POST['fname']) ."', sname='". mysqli_real_escape_string($dbConnectionW, $_POST['sname']) ."', gender='". mysqli_real_escape_string($dbConnectionW, $_POST['gender']) ."', nationality='". mysqli_real_escape_string($dbConnectionW, $_POST['nation']) ."', year='". mysqli_real_escape_string($dbConnectionW, $_POST['year']) ."', dep1='". mysqli_real_escape_string($dbConnectionW, $_POST['dep1']) ."', dep2='". mysqli_real_escape_string($dbConnectionW, $_POST['dep2']) ."', f_pos='". mysqli_real_escape_string($dbConnectionW, […]
Как создать страницу поиска с несколькими критериями, по которым необходимо проверить хотя бы критерии. Структура таблицы ID [pk] имя секс Место нахождения Я хочу создать форму поиска, где пользователь сможет искать по имени или по имени, полу или по имени, полу, местоположению или любой такой комбинации среди [имени, пола, местоположения] Как спроектировать запрос? Edit Я […]
Моя страница устанавливает signin_time устанавливает ее в NOW() , устанавливает logged_in в 1, когда пользователь успешно подписывается на страницу. Я хочу сделать это, чтобы установить signout_time в NOW() когда пользователь также выйдет. Для этого я использую следующий запрос $stmt = $db->prepare("UPDATE `ulog` SET `logged_in`=0, `signout_time`=NOW(),`ckey`= '', `ctime`= '' WHERE user_id=? AND logged_in=1") or die($db->error); Пробовал […]