1 2 3 4 5 | DIT IS REGEL 2 DIT IS REGEL 3 DIT IS REGEL 4 |
Uit een bestand of uit een string?quote:Op dinsdag 22 juni 2010 14:27 schreef F4T4L_3RR0R het volgende:
Bestaat er iets in PHP waarmee ik alleen de eerste regel kan uitlezen? Zonder te exploden?
Voorbeeld van de input:
[ code verwijderd ]
Ik wil alleen regel 1 hebben.
1 |
1 |
1 |
1 2 3 4 5 | VALUES ('c4ca4238a0b923820dcc509a6f75849b', '2010-08-13', 'en', 'eccbc87e4b5ce2fe28308fd9f2a7baf3') ('c81e728d9d4c2f636f067f89cc14862c', '2010-08-13', 'en', 'a87ff679a2f3e71d9181a67b7542122c') 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 '('c81e728d9d4c2f636f067f89cc14862c', '2010-08-13', 'en', 'a87ff679a2f3e71d9181a6' at line 1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | $db->execQuery('DELETE FROM users'); $db->execQuery('ALTER TABLE users AUTO_INCREMENT = 0'); $query = 'INSERT INTO users (device_token, expiration_date, language, device_identifier) VALUES'; $start = 0; $count = 20000; for ($i = $start; $i < $start + $count; $i++) { $device_token = md5($i); $identifier = md5($i + $count); $query .= sprintf(' (%s, %s, %s, %s)', $db->smartQuote($device_token), $db->smartQuote('2010-08-13'), $db->smartQuote('en'), $db->smartQuote($identifier)); if ($i + 1 < $count) $query .= ','; } try { $db->execQuery($query); } catch (Exception $e) { echo $e->getMessage(); } echo $query; ?> |
1 |
Dat was 'm inderdaad, thanks. Maar ik heb nu een nieuw probleemquote:Op dinsdag 22 juni 2010 21:28 schreef Light het volgende:
Iets leesbaarder:
[ code verwijderd ]
Er mist een komma na de eerste set values.
values (...), (...)
1 2 3 4 5 6 7 | { $device_token = md5($i); $identifier = md5($i + $count); $query .= sprintf(' (%s, %s, %s, %s)', $db->smartQuote($device_token), $db->smartQuote('2010-08-13'), $db->smartQuote('en'), $db->smartQuote($identifier)); if ($i + 1 < $count) $query .= ','; } |
1 2 3 4 5 6 7 | { $device_token = md5($i); $identifier = md5($i + $count); $values[] = sprintf(' (%s, %s, %s, %s)', $db->smartQuote($device_token), $db->smartQuote('2010-08-13'), $db->smartQuote('en'), $db->smartQuote($identifier)); } $query .= implode(', ', $values); |
Sorry, beetje onduidelijk. De query gaat nog heeel lang door, ik heb 'm ff ingekort. Maar je kan aan de PHP code zien dat het een juiste query oplevert. Dat moet ook, want bij $count = 10.000 werkt het, maar bij $count = 20.000 niet meer.quote:Op dinsdag 22 juni 2010 21:33 schreef hamkaastosti het volgende:
moet die laatste , d'r niet af?
Maar de foutmelding begint met "Could not execute query: ". Meestal staat er dan aan het eind (na de query) nog meer info over waarom die query niet kon worden uitgevoerd. Geheugen zou kunnen, maar je kunt er natuurlijk ook meer queries van maken om dat probleem op te lossen.quote:Op dinsdag 22 juni 2010 21:36 schreef retorbrapi het volgende:
[..]
Sorry, beetje onduidelijk. De query gaat nog heeel lang door, ik heb 'm ff ingekort. Maar je kan aan de PHP code zien dat het een juiste query oplevert. Dat moet ook, want bij $count = 10.000 werkt het, maar bij $count = 20.000 niet meer.
1 |
1 2 3 4 | [1] BLA [2] BLA [3] BLA |
1 2 3 4 | $eersteregel = explode("\n", $body); $alarmering = explode(" - ", $eersteregel[0]); ?> |
1 2 3 | $alarmering = explode(" - ", explode("\n", $body)); ?> |
Jaaaaaa, dat is 'm.quote:Op woensdag 23 juni 2010 00:37 schreef Light het volgende:
var_dump() ?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |