Я использую ниже класс для вставки данных:
class DB {
protected static $connection;
public $num = 0;
public $insertID = 0;
public $data = "";
public $select = "";
public $error = "";
public function connect() {
if(!isset(self::$connection)) {
self::$connection = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
mysqli_query(self::$connection, "SET NAMES 'utf8'");
}
if(self::$connection === false) {
echo 'Not Connect To Database !<br>'.self::$connection->connect_error;
return false;
}
return self::$connection;
}
public function query($query) {
$this->select = $query;
$q = $this->connect()->query($query);
$this->connect()->commit();
return $q;
}
public function insert($table, $params){
$before = $after = '';
foreach($params as $field => $value){
$before .= "`$field`,";
$after .= "'$value',";
}
$before = substr($before,0,-1);
$after = substr($after,0,-1);
$sql = "INSERT INTO `$table` ($before) VALUES ($after)";
if($this->query($sql)){
$this->insertID = mysqli_insert_id($this->connect());
}
return true;
}
}
А это мой стол:
А это мой код:
$array = array( 'basketPrice'=>$detail['price'],
'basketOrder'=>$orderId,
'basketGift'=>$userGift,
'basketUseCredit'=>$cr,
'basketProduct'=>$product,
'basketFinish'=>$detail['buyPrice'],
'basketExSoon'=>$detail['minus']);
$db = new DB();
$db->insert('basket', $array);
В моей базе данных сохранено около 80 000 записей. после выполнения кода я получаю тайм-аут и вставляю в таблицу не работает
basketId, basetGift и basketOrder являются индексами
Почему?