Я получаю довольно много ошибок при попытке создать предложение dynamic where, использующее mysqli: Предупреждение. Параметр 2 для mysqli_stmt :: bind_param () должен быть ссылкой, значением, указанным в … по строке 319 Предупреждение: mysqli_stmt :: execute (): (HY000 / 2031): данные не предоставлены для параметров в подготовленном сообщении в … на строке 328 Предупреждение: mysqli_stmt :: […]
Метод normal result() описанный в документации, сразу же загружает все записи. Мое приложение должно загружать около 30 000 строк и по одному, отправляя их в сторонний API индекса поиска. Очевидно, что загрузка всего в память сразу не работает (ошибки из-за слишком большой памяти). Итак, мой вопрос: как я могу добиться эффекта обычного метода API MySQLi, […]
Я участвовал в использовании подготовленных и связанных операторов для своих запросов sql, и до сих пор я это сделал, он работает нормально, но он не является динамическим вообще, когда приходит к нескольким параметрам или когда нет необходимости в параметре, public function get_result($sql,$parameter) { # create a prepared statement $stmt = $this->mysqli->prepare($sql); # bind parameters for […]
Мой сайт довольно обширен, и я недавно сделал переход на PHP5 (назовите меня поздним цветком). Все мои запросы MySQL были построены следующим образом: "SELECT * FROM tablename WHERE field1 = 'value' && field2 = 'value2'"; Это сделало его очень простым, простым и дружелюбным. Теперь я пытаюсь переключиться на mysqli по очевидным соображениям безопасности, и мне […]
В чем преимущества использования MySQLi над MySQL?
У меня возникли проблемы с переходом от методов SELECT MySQL к методам PDO. Я хочу выполнить итерацию по выделенному массиву дважды, начиная с нулевой строки. В mysql я бы использовал: mysql_data_seek($result,0); Используя методы PDO, я не уверен, как выполнить одно и то же. Ниже приведен код, как я пытаюсь это сделать. Первый цикл while работает […]
Возможный дубликат: mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, boolean задан в select Я знаю, что этот код работает на другом сайте, который у меня есть, но сегодня он не играет в мяч. Я получаю три предупреждения: Предупреждение: mysqli_stmt_bind_param () ожидает, что параметр 1 будет mysqli_stmt, boolean указан в /homepages/14/d248783986/htdocs/subdomains/clients.bionic-comms.co.uk/httpdocs/carefree/process.php в строке 33 Предупреждение: […]
Хорошо, поэтому я пытаюсь обновить запись в блоге, и я получаю вызов функции-члена bind_param () для не-объекта при попытке запустить скрипт. Я провел обширные исследования, чтобы понять, могу ли я сам это исправить, но я должен что-то упустить. <?php $stmt = $mysqli->prepare("UPDATE blogentries SET headline = ?, image = ?, caption = ?, article = […]
У меня есть следующий код: $postId = $_GET['postId']; $mysqli = new mysqli('localhost', 'username', 'database', 'name_db'); mysqli_report(MYSQLI_REPORT_ALL); $stmt = $mysqli->stmt_init(); $stmt->prepare(" SELECT * FROM posts WHERE postId = ? "); $stmt->bind_param('i', $postId); $stmt->execute(); $result = $stmt->get_result();//Call to undefined method $info = $result->fetch_array(MYSQLI_ASSOC); echo json_encode($info); И я получаю некоторую ошибку, отмеченную выше. Что я сделал не так? […]
У меня есть функция, которая генерирует подготовленный оператор INSERT на основе ассоциативного массива имен столбцов и значений, которые должны быть вставлены в этот столбец, и имя таблицы (простая строка): function insert ($param, $table) { $sqlString = "INSERT INTO $table (".implode(', ',array_keys($param)).') VALUES ('.str_repeat('?, ', (count($param) – 1)).'?)'; if ($statement = $this->conn->prepare($sqlString)): $parameters = array_merge(array($this->bindParams($param), $param)); […]