Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Mysql & ASP: errore 80040e14

    Salve ragazzi,
    ho una sintassi di questo tipo:

    codice:
    	sql = "SELECT * FROM " & serxs & " ORDER BY data desc LIMIT " & starter & ", " & stopper &" WHERE testo LIKE "
    	
    	ArrSearch = Split(searchsz)
    	h = 0
    	for each Word1 In ArrSearch
    	If Not h = UBound(ArrSearch) Then
    		sql = sql & "'%" & Word1 & "%' AND"
    	Else
    		sql = sql & "'%" & Word1 & "%' "
    	End If
    	h = h + 1
    	Next
    grazie alla quale eseguo una ricerca di testo su un campo specifico delle tabelle del mio db mysql, chiamate appunto "testo" ... la tabella sulla quale ricercare viene discriminata da un menu a tendina dal quale l'utente seleziona il criterio (serxs) ricevo però questo errore:

    codice:
    [MySQL][ODBC 3.51 Driver]
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 
    
    [mysqld-4.1.19-community-max-nt]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 'WHERE testo LIKE '%prova%'' at line 1
    che dovrebbe essere dato dal fatto che Word1 non è correttamente definita ... ma non riesco a capire dove sbaglio!!


    Help!

  2. #2
    col tuo codice ottieni

    ... WHERE testo LIKE '%pippo%' AND '%pluto%' ...

    mentre invece devi ottenere

    ... WHERE testo LIKE '%pippo%' AND testo LIKE '%pluto%' ...

    sistema

  3. #3
    Ciao Optime,
    inannzitutto grazie della risposta ... per errore ho postato il codice sbagliato, praticamente quello giusto è questo:

    codice:
    	ArrSearch = Split(searchsz)
    	h = 0
    	for each Word1 In ArrSearch
    	If Not h = UBound(ArrSearch) Then
    		sql = sql & "testo LIKE '%" & Word1 & "%' AND"
    	Else
    		sql = sql & "testo LIKE '%" & Word1 & "%' "
    	End If
    	h = h + 1
    	Next
    in cui, come vedi "testo Like" vengono inserite all'interno del ciclo e quindi eventualmente ripetute in base al numero di parole inserite. Il risultato, però, non cambia!

  4. #4
    la cosa più immediata è ovviamente stamparsi la sql finale e controllarla

    comunque, immagino che una AND e il successivo TESTO verranno fuori appiccicati visto che non hai messo neanche uno spazio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.