php string concatenation addition

php - La concatenación con adición no funciona como se esperaba



string concatenation (2)

Aquí está mi código PHP con consulta SQL, pero el resultado no es el esperado:

$sql = ''INSERT INTO `event_footers` (`event_id`, `order`, `file_id`, `url`) VALUES ''; foreach($all_footers as $key => $val){ $sql .= ''(''.(int)$data[''event_id''].'', ''.$key + 1 .'', ''.(int)$val[''file_id''].'', "''.addslashes($val[''url'']).''"), ''; } $sql = rtrim($sql, '', ''); var_dump($sql); exit;

Y obtengo una consulta sql como esta:

`INSERT INTO `event_footers` (`event_id`, `order`, `file_id`, `url`) VALUES 1, 2135, "http://11.lt"), 1, 2136, "http://22.lt"), 1, 2140, "http://44.lt")`

¿Dónde está el primero ( después de VALUES?


Esto está sucediendo debido a la precedencia del operador. Probar con

$sql .= ''('' . ((int)$data[''event_id'']) . '', '' . ($key + 1) . '', '' . ((int)$val[''file_id'']) . '', "'' . addslashes($val[''url'']) . ''"), '';