После перехода на новый компьютер (и Mac Mojave) я не смог вставить строки в базе данных из файлов php, используя классы и объекты.Например:
$new_entry = SomeClassName::add_record($foo, $bar );
if($new_entry && $new_entry->save()) {
//do something here
}
Определение класса выглядит следующим образом:
class SomeClassName extends DBObject {
protected static $table_name="some_table";
protected static $db_fields = array( 'id' , 'foo' , 'bar' );
public $id;
public $foo;
public $bar;
public $errors=array();
}
mysqli_error()
дает мне:
Incorrect integer value: '' for column 'id' at row 1
Я обнаружил, что все будет работатькак и ожидалось, если я удаляю 'id' из массива $db_fields
и удаляю строку public $id;
.Тем не менее, у меня есть десятки Классов, и я боюсь, что для этого нужно заново отредактировать их все - тем более, что весь мой код работал нормально на моем старом локальном сервере (используя php5.4) и все еще отлично работает на моем общедоступном сервере (используяphp 5.5), но не на моей новой установке (используя php7).Итак, мой вопрос: есть ли лучшее решение, чем то, которое я придумал?Если так, то, что это?Советы наиболее приветствуются и ценятся.(Даже насмешка, если это поможет решить эту надоедливую проблему.)