Intereting Posts
как обновить раскрывающееся меню Select2 после загрузки ajax другого контента? Php, вычисление показателя с морковью (^) не выполняется Настройка параметра как массива в генераторе Nelmio Alice PHP. Загрузите веб-фотографию в альбом facebook через Graph API. Встроенная «обязательная» звездочка в ярлыке формы Laravel Убедитесь, что строка соответствует требуемому формату Как решить маршрут, не определенный в laravel 5.3? Ширина пользовательского изображения Instagram API Использование AJAX для передачи переменной в PHP и повторного получения тех, кто использует AJAX Как добавить некоторые статические маршруты в приложение CodeIgniter? Ошибка синтаксиса – неожиданно ":" Как передать параметр в ограничение проверки в Symfony2 – в yml Создание SOAP-вызова с использованием PHP с телом XML Другая ошибка XML-анализа PHP: «Вход не соответствует UTF-8, укажите кодировку!» WordPress: как установить тему по умолчанию (активная) через скрипт

Предупреждение: mysql_real_escape_string () ожидает, что параметр 1 будет строкой

HTML-код

<tr> <td><input type="text" name="batch_code[]" required="required" value="<?php if(isset($batch_code[0]))echo htmlentities($batch_code[0]); ?>"/></td> <td><input type="text" name="description[]" value="<?php if(isset($description[0]))echo htmlentities($description[0]); ?>"/></td> <td><input type="text" name="current_value[]" value="<?php if(isset($current_value[0]))echo htmlentities($current_value[0]); ?>"/></td> <td><input type="text" size="12" name="qty[]" required="required" value="<?php if(isset($qty[0]))echo htmlentities($qty[0]); ?>"/></td> <td><select id="asset_id" class="asset_id" name="asset_id[0][]" multiple="multiple" required> <?php foreach($asset_ids as $asset_id): ?> <option class="dropdownlist"><?php echo $asset_id->asset_id; ?></option> <?php endforeach; ?> </select></td> </tr> <tr> <td><input type="text" name="batch_code[]" required="required" value="<?php if(isset($batch_code[1]))echo htmlentities($batch_code[1]); ?>"/></td> <td><input type="text" name="description[]" value="<?php if(isset($description[1]))echo htmlentities($description[1]); ?>"/></td> <td><input type="text" name="current_value[]" value="<?php if(isset($current_value[1]))echo htmlentities($current_value[1]); ?>"/></td> <td><input type="text" size="12" name="qty[]" required="required" value="<?php if(isset($qty[1]))echo htmlentities($qty[1]); ?>"/></td> <td><select id="asset_id" class="asset_id" name="asset_id[1][]" multiple="multiple" required> <?php foreach($asset_ids as $asset_id): ?> <option class="dropdownlist"><?php echo $asset_id->asset_id; ?></option> <?php endforeach; ?> </select></td> </tr> 

И мои php-коды

 $count = count(array_filter($this->asset_id))-1; for($value = 0; $value <= $count; $value++){ $count_asset = count(array_filter($this->asset_id))-1; for($asset_value = 0; $asset_value <= $count_asset; $asset_value++){ $sql = "INSERT INTO dispatch_items ("; $sql .= "dis_id, batch_code, asset_id, description, current_value, qty"; $sql .= ") VALUES ('"; $sql .= $database->escape_value($this->dis_id) ."', '"; $sql .= $database->escape_value($this->batch_code[$value])."', '"; $sql .= $database->escape_value($this->asset_id[$value][$asset_value]) ."', '"; $sql .= $database->escape_value($this->description[$value]) ."', '"; $sql .= $database->escape_value($this->current_value[$value]) ."', '"; $sql .= $database->escape_value($this->qty[$value]) ."')"; $query = $datanase->query($sql); $sql = "UPDATE asset_manager SET "; $sql .= "location='".$database->escape_value($this->rstore_code)."', "; $sql .= "dis_id='".$database->escape_value($this->dis_id)."' "; $sql .= "WHERE asset_id='".$database->escape_value($this->asset_id[$value][$asset_value])."' "; $sql .= "AND batch_code='".$database->escape_value($this->batch_code[$value])."' "; $query = $database->query($sql); } } 

Я пытаюсь вставить несколько данных формы в базу данных и дать возможность пользователю выбрать несколько asset_id[][] для каждого batch_code[] но при вставке его в базу данных продолжать получать эту ошибку .. 🙁

Предупреждение: mysql_real_escape_string () ожидает, что параметр 1 будет строкой, массив указан в D: \ assetmanagement \ includes \ database.php в строке 52

 public function escape_value( $value ) { if( $this->real_escape_string ) { // PHP v4.3.0 or higher // undo any magic quote effects so mysql_real_escape_string can do the work if( $this->magic_quotes_active ) { $value = stripslashes( $value ); } $value = mysql_real_escape_string( $value );\\ line 53 } else { // before PHP v4.3.0 // if magic quotes aren't already on then add slashes manually if( !$this->magic_quotes_active ) { $value = addslashes( $value ); } // if magic quotes are active, then the slashes already exist } return $value; } 

Как я могу исправить эту ошибку ..?

Вместо того, чтобы использовать

 if( $this->real_escape_string ) { // PHP v4.3.0 or higher 

проверить версию php с помощью

 phpversion() 

или

 function_exists('real_escape_string')