Sprawdzanie max_allowed_packet
$db = new mysqli( 'localhost', 'user', 'pass', 'dbname' ); // to get the max_allowed_packet $maxp = $db->query( 'SELECT @@global.max_allowed_packet' )->fetch_array();
serwer na homie daje 8388608
Przyklad zastosowania
$sql = "some really long sql query..."; $db->query( 'SET @@global.max_allowed_packet = ' . strlen( $sql ) + 1024 ); $db->query( $sql );
Moje pytanie, czy to zadziała? I ile bitów (tak mysle) moge ustawic zamiast 1024,
Moj insert:
<? $sql_git = "INSERT INTO " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', update_quantity = '" . (int)$data['update_quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . (int)$data['date_available'] . "', release_year = '" . $this->db->escape($data['release_year']) . "', binding = '" . $this->db->escape($data['binding']) . "', shipping = '" . (int)$data['shipping'] . "', price = '" . (float)$data['price'] . "', update_price = '" . (int)$data['update_price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . $this->db->escape($data['tax_class_id']) . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW()"; $this->db->query( sql_git ); ?>
Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1024' at line 1
Error No: 1064
localhost
?
information_schema
?
SESSION_VARIABLES
VARIABLE_NAME VARIABLE_VALUE
SLAVE_MAX_ALLOWED_PACKET 1073741824
MAX_ALLOWED_PACKET 8388608
Moge to przekroczyć jeżeli jest ustawione na serwerze ?