Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Query da access a mysql

    allora... di recente ho trasferito il mio sito di [url=http://www.cucinarefacile.com]Ricette[url]
    da access a mysql... ora stavo aggiustando il codice... nella pagina della ricerca per ingrediente delle ricette utilizzavo questo:

    codice:
                  		
    strSQL = "SELECT * FROM ricette WHERE"
    
    
    
    				strsql = strsql & " ( [ingredienti] LIKE '%" & QueryWords( 0 ) & "%'"			' Prima
    	For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
    		If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
    			If uCase( QueryWords( i-1 ) ) = "OR" Then
    				strsql = strsql & " OR [ingredienti] LIKE '%" & QueryWords( i ) & "%'"
    			Else
    				strsql = strsql & " AND [ingredienti] LIKE '%" & QueryWords( i ) & "%'"
    			End If
    		End If
    	Next
    strsql=strsql &")"
    questa sql serve per cercare dove il campo ingrediente contiene le parole inserite in querywords anche se in ordine diverso o sparse nel testo del campo cosi che la ricerca "tonno fagioli" restituisca anche il record che contiene "fagioli, 1 scatoletta di tonno"

    solo che funzionava con access ma con mysql non funziona... avete un corrispondente che posso usare con mysql?
    Parafarmacia online, tantissimi prodotti tutti in un click

  2. #2
    che vuol dire "non funziona"? non trova? dà errore? fa miagolare il gatto? spegne il frigo?

  3. #3
    Ecco l'errore:

    se faccio una ricerca con "tonno" mi da


    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [MySQL][ODBC 3.51 Driver][mysqld-5.0.27-standard-log]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 '[ingredienti] LIKE '%tonno%')' at line 1


    l'errore me lo segnala alla righa 335 e cioè

    set rs = cn.execute(sql)
    Parafarmacia online, tantissimi prodotti tutti in un click

  4. #4
    stampa tutta la STRSQL prima di eseguirla e postala

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Stampa tutta la query...

    Roby

  6. #6
    cavoli stampandola sembra tutto a posto...

    ricerca per "fagioli tonno"

    codice:
    SELECT * FROM ricette WHERE ( [ingredienti] LIKE '%fagioli%' AND [ingredienti] LIKE '%tonno%')
    Parafarmacia online, tantissimi prodotti tutti in un click

  7. #7
    Ecco tutto il codice che utilizzo:

    codice:
    	QueryString = replace(ingrediente,"'"," ")
    	QueryWords  = Split( QueryString )
    	strIndent   = "               "
          
          sql = "SELECT * FROM ricette WHERE"
          
     sql=sql &" ( [ingredienti] LIKE '%" & QueryWords( 0 ) & "%'"			' Prima
    	For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
    		If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
    			If uCase( QueryWords( i-1 ) ) = "OR" Then
    				sql = sql & " OR [ingredienti] LIKE '%" & QueryWords( i ) & "%'"
    			Else
    				sql = sql & " AND [ingredienti] LIKE '%" & QueryWords( i ) & "%'"
    			End If
    		End If
    	Next
    sql=sql &")" 
          sql = sql &" LIMIT " & (currentPage - 1) * pageSize & ", " & pageSize
    
    set rs = cn.execute(sql)
    ed ecco l'errore che restituisce

    codice:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 
    
    [MySQL][ODBC 3.51 Driver][mysqld-5.0.27-standard-log]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 '[ingredienti] LIKE '%fagioli%') LIMIT 0, 15' at line 1
    Parafarmacia online, tantissimi prodotti tutti in un click

  8. #8
    Originariamente inviato da schizzorl86
    cavoli stampandola sembra tutto a posto...

    ricerca per "fagioli tonno"

    codice:
    SELECT * FROM ricette WHERE ( [ingredienti] LIKE '%fagioli%' AND [ingredienti] LIKE '%tonno%')
    non mi sembra *TUTTA* la query... sotto vedo una LIMIT...

  9. #9
    ecco tutta la query stampata completa

    codice:
    SELECT * FROM ricette WHERE ( [ingredienti] LIKE '%fagioli%' AND [ingredienti] LIKE '%tonno%') LIMIT 0, 15
    Parafarmacia online, tantissimi prodotti tutti in un click

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Che non gradisca le parentesi?

    Roby

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 © 2026 vBulletin Solutions, Inc. All rights reserved.