Bugje in fs2005.php?

Aloha!

Ik ben net klaar met dumpen van de hele handel, en importeren naar MySQL. Omdat de binary niet draait op FreeBSD, en het compilen ervan mislukt, heb ik gedumpt naar CSV bestanden op een Windows machine, en vervolgens op de freebsd machine in het mysql script de dumpregel ge-comment. Alles draaide volgens mij goed (zal voor de zekerheid even mijn logje bijvoegen).
Foonsearch werkt weer lekker, echter als ik op een postcode klik bij de resultaten, krijg ik de volgende error:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/local/www/is-1337.net/foonsearch/fs2005.php on line 265

Is er toch iets mis gegaan, of heb ik een bug gevonden?

Logje white:

Importing CSV file subscriber foondump2005.white_subscriber: Records: 6003506 Deleted: 0 Skipped: 0 Warnings: 0 Importing CSV file info foondump2005.white_info: Records: 3393371 Deleted: 0 Skipped: 1 Warnings: 8 Importing CSV file category foondump2005.white_category: Records: 233 Deleted: 0 Skipped: 0 Warnings: 0 Importing CSV file phonenumber foondump2005.white_phonenumber: Records: 6689793 Deleted: 0 Skipped: 53732 Warnings: 0 Creating indexes

Logje pink:

Creating tables Importing CSV file subscriber foondump2005.pink_subscriber: Records: 721201 Deleted: 0 Skipped: 0 Warnings: 2 Importing CSV file info foondump2005.pink_info: Records: 2113398 Deleted: 0 Skipped: 3 Warnings: 16 Importing CSV file category foondump2005.pink_category: Records: 1331 Deleted: 0 Skipped: 0 Warnings: 0 Importing CSV file phonenumber foondump2005.pink_phonenumber: Records: 1004908 Deleted: 0 Skipped: 67689 Warnings: 0 Creating indexes

Ben ik weer… nog een aantal fouten gevonden…
Bij het zoeken op een achternaam komen er een x aantal resultaten terug. Klik ik vervolgens op Plaats, om te sorteren op plaats, krijg ik deze error:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/local/www/is-1337.net/foonsearch/fs2005.php on line 602 Geen vermeldingen gevonden

In die resultaten staan uiteraard een aantal telefoonnummers. Typ ik nou exact een telefoonnummer over, dan krijg ik de melding “Geen vermeldingen gevonden.”

Om de grote Loeki de leeuw maar eens te quoten: Asjemenou?!
Ben nu echt het spoor compleet bijster!

De “Plaats” bug is mij bekend, zie ook http://www.foondump.nl/forum/viewtopic.php?t=169

Kan je een voorbeeld geven van zo’n telefoonnummer?

Ja, ik zoek bijvoorbeeld op de naam west in plaats arnhem. Ik krijg dan een aantal resultaten, waarbij het eerste resultaat Westermeijer Groep is. Als ik dat telefoonnummer (026-4455555) copy, op leegmaken klik, in telnr veld paste, en vervolgens search, krijg ik “Geen vermeldingen” als resultaat terug.

Weet niet of het van toepassing is, maar ik vermeld de server specs wel ff:
FreeBSD 5.4, Apache 2.0.54, PHP 5.0.4, MySQL 4.1.12

Bij nadere bestudering… Geen enkel telefoonnummer werkt bij het zoeken op nummer…
Ik ga de import nog eens opnieuw doen, misschien dat er ergens iets is fout gegaan…

Nope, ook opnieuw importeren lost het probleem niet op (dacht dat er misschien iets mis was met de indexen ofzo). Zoeken op telefoonnummer werkt nog steeds niet. Als je meer info wil, of access op de server zodat je ermee kan testen, mail me dan ff op kauwgomballen@is-1337.net

Hoi KGB,

krijg ik “Geen vermeldingen” als resultaat terug.

Mijn oplossingrichting.

  1. Bouw iets in de php code dat de mysql commando string die wordt opgebouwd dumpt op scherm/file.

  2. Toets iets in fs2005.php in wat je wilt opzoeken.

  3. Toets de “mysql commando string” in mysql client in. Kijk of het werkt en wat er mogelijk aan schort.

De vriendelijke groet Jan Marco

Hmm, ik heb idd even zitten bladeren in de sourcecode van fs2005.php, en hij geeft nu een query terug als ik op zoeken klik. De query invoeren in mysql geeft echter geen resultaten. Vervolgens ben ik de database in gedoken, en ben ik gaan bladeren in de white_phonenumber tabel. Daar kom ik bijvoorbeeld het volgende telefoonnummer tegen: 003211801016. Vervolgens voer ik de volgende query uit:
SELECT * FROM white_phonenumber WHERE phone=‘003211801016’

Resultaat: er worden geen rijen teruggegeven!!! Hoe is dit in godsnaam mogelijk?

Hoi KGB,

Select * from white_phonenumber where phone = ‘003211801016’;
id phone
2261772 | 003211801016

select * from white_subscriber where phone=‘003211801016’;

id title firstname infix lastname streetname housenumber postalcode city phone category
2261772 | | | Hostaco Staalbouwmont Hoogwerker en Kraanverhuur | Bokkerijder | 24 | 5571MX | Bergeijk | 003211801016

KGB, Welke cdfoon versie gebruik je? Mogelijk een nieuwere versie dan wij getest hebben.

De vriendelijke groet Jan Marco

Heb jij heel toevallig met de allerallereerste versie van Foondump 5 gedumpt?

In versie 5.05 zat een bug in de import, waardoor aan het eind van elk telefoonnummer een carriage return mee wordt geimporteerd. Deze bug is in v5.05a opgelost. Zie ook http://www.foondump.nl/Index.php?page=versie

Als dit het geval is zou de query

select * from white_subscriber where phone like ‘003211801016%’;

wel moeten werken.

Oplossing: upgrade naar v5.05b.

Dat werkt inderdaad wel. ik heb overigens wel met 5.05b gedumpt. Misschien komt het omdat ik de dump op windows heb gemaakt, toen naar m’n freebsd server heb verplaatst, en vervolgens daar geimporteerd…

vi white_phonenumber.txt:

1|0203628721^M
2|0612298267^M
3|0703096634^M
4|0365335880^M
5|0703504111^M
6|0134564692^M
7|0703946966^M
8|0135451668^M
9|0742435904^M

Er staat dus achter elke regel een windows linebreak. Gelukkig lost het volgende vi commando dit op:
:%s/^M$//g

daarna even :wq, en het probleem is opgelost. bedankt!

Ik heb exact hetzelfde probleem. Geen resultaten bij het zoeken op nummer. Gedump met versie 5.05b op Windows, daarna ter test gekopieerd naar mijn Linux server maar geen ^M achter de regels.

De select … % werkt wel prima.

Heeft er iemand enig idee hoe dit zou kunnen?

Doe eens onder Linux

od -Ax -tx1z white_phonenumber.txt | head -10

en post de output hier?

[root@omzet /sambaroot]# od -Ax -tx1z white_phonenumber.txt | head -10
000000 31 7c 30 32 30 33 36 32 38 37 32 31 0d 0a 32 7c >1|0203628721…2|<
000010 30 36 31 32 32 39 38 32 36 37 0d 0a 33 7c 30 37 >0612298267…3|07<
000020 30 33 30 39 36 36 33 34 0d 0a 34 7c 30 33 36 35 >03096634…4|0365<
000030 33 33 35 38 38 30 0d 0a 35 7c 30 37 30 33 35 30 >335880…5|070350<
000040 34 31 31 31 0d 0a 36 7c 30 31 33 34 35 36 34 36 >4111…6|01345646<
000050 39 32 0d 0a 37 7c 30 37 30 33 39 34 36 39 36 36 >92…7|0703946966<
000060 0d 0a 38 7c 30 31 33 35 34 35 31 36 36 38 0d 0a >…8|0135451668…<
000070 39 7c 30 37 34 32 34 33 35 39 30 34 0d 0a 31 30 >9|0742435904…10<
000080 7c 30 33 32 30 32 33 30 35 32 32 0d 0a 31 31 7c >|0320230522…11|<
000090 30 31 30 32 36 35 37 34 36 34 0d 0a 31 32 7c 30 >0102657464…12|0<
[root@omzet /sambaroot]#

Euh, de vetgedrukte bytes zijn toch echt carriage returns (^M = 13 = 0x0d)

[root@omzet /sambaroot]# od -Ax -tx1z white_phonenumber.txt | head -10
000000 31 7c 30 32 30 33 36 32 38 37 32 31 0d 0a 32 7c >1|0203628721…2|<
000010 30 36 31 32 32 39 38 32 36 37 0d 0a 33 7c 30 37 >0612298267…3|07<
000020 30 33 30 39 36 36 33 34 0d 0a 34 7c 30 33 36 35 >03096634…4|0365<
000030 33 33 35 38 38 30 0d 0a 35 7c 30 37 30 33 35 30 >335880…5|070350<
000040 34 31 31 31 0d 0a 36 7c 30 31 33 34 35 36 34 36 >4111…6|01345646<
000050 39 32 0d 0a 37 7c 30 37 30 33 39 34 36 39 36 36 >92…7|0703946966<
000060 0d 0a 38 7c 30 31 33 35 34 35 31 36 36 38 0d 0a >…8|0135451668…<
000070 39 7c 30 37 34 32 34 33 35 39 30 34 0d 0a 31 30 >9|0742435904…10<
000080 7c 30 33 32 30 32 33 30 35 32 32 0d 0a 31 31 7c >|0320230522…11|<
000090 30 31 30 32 36 35 37 34 36 34 0d 0a 31 32 7c 30 >0102657464…12|0<

Nu zie ik dat ook ja. Echter raakte ik in verwarring omdat ik in vi echt ^M verwachte en ik de laatste versie 5.05b gebruik. Ok…thanx…ik weet wat me te doen staat nu.