Söka ur två tabeller samtidigt, funkar ej!??

PHPportalen Forum Index » Databaser
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
Lunde



Medlem i: 1215 dagar

Status: Offline



#740419
Inlägg Skrivet: 2016-02-08 19:04      Ämne: Söka ur två tabeller samtidigt, funkar ej!?? Citera

Hej!

Någon som ser vad som är galet?
Jag får inte sökfrågan med sökning efter serienummer genom bägge tabellerna att fungera. Där emot funkar det att söka i en tabell men inte två samtidigt.

Den ena tabellen hanterar S/n för maskiner (PR_maskiner) och den andra S/n för maskindelar (PR_maskindelar) och jag vill söka ur bägge samtidigt.



PHP:
1:
<?php
2:
//error_reporting(0);
3:
 
4:
include ("../XXX/common.php");
5:
 
6:
if (isset($_GET['txt'])) {
7:
$word mysql_real_escape_string($_GET['txt']);
8:
$word htmlentities($word);
9:
 
10:
 
11:
//Den här frågan funkar klockrent men båda tabellerna (PR_maskiner och PR_maskindelar) funkar inte alls. Inget resultat visas i någon form Sad
12:
$sql "SELECT serienummer FROM PR_maskindelar WHERE serienummer = ".$word."";
13:
 
14:
 
15:
$sql =  "SELECT PR_maskiner.serienummer, PR_maskindelar.serienummer WHERE PR_maskiner.serienummer LIKE ".$word." OR PR_maskindelar.serienummer LIKE ".$word."";
16:
 
17:
$row $db->query($sql);
18:
if(count($row)) {    
19:
 
20:
$result "<br>Checkar S/n";
21:
 
22:
foreach($row as $r) {
23:
 
24:
//Finns värdet
25:
if ($word == $r['serienummer']) {
26:
$result "<br>Hittat S/n:<b> " $r['serienummer']."</b>";  
27:
 
28:
      }
29:
   }
30:
}
31:
          
32:
echo $result;
33:
         
34:
}
35:
         
36:
?>


Tabellstruktur i bägge tabellerna:

Exempel
id produktkod serienummer
1 4506 13123507
2 4507 13195432
3 4802 16789453
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
harald_b
Moderator



Medlem i: 3991 dagar
Från: Tavesta
Status: Offline



#740422
Inlägget är accepterad som det rätta svaret Skrivet: 2016-02-08 23:28      Ämne: Citera

Det här handlar om sql, och inte php, så det blir flytt.

Jag skulle tro att felet handlar om att du missat FROM i databasfrågan.
För övrigt så escapear du datat på ett sätt som kommer medföra buggar. Escapea bara på det sätt som sammanhanget kräver, och använd inte escapeat data till annat.[/b]


EDIT:

Om du vill först göra en fråga i ena tabellen och sedan en fråga i andra tabellen, och slå ihop resultaten så kan du använda UNION:
KOD:
1:
(SELECT ....WHERE...) UNION (SELECT ....WHERE...)
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Lunde



Medlem i: 1215 dagar

Status: Offline



#740423
Inlägg Skrivet: 2016-02-09 02:12      Ämne: Citera

harald_b skrev:
Det här handlar om sql, och inte php, så det blir flytt.

Jag skulle tro att felet handlar om att du missat FROM i databasfrågan.
För övrigt så escapear du datat på ett sätt som kommer medföra buggar. Escapea bara på det sätt som sammanhanget kräver, och använd inte escapeat data till annat.[/b]


EDIT:

Om du vill först göra en fråga i ena tabellen och sedan en fråga i andra tabellen, och slå ihop resultaten så kan du använda UNION:
KOD:
1:
(SELECT ....WHERE...) UNION (SELECT ....WHERE...)



Tack för hjälpen!
Men! Det handlade om fel "lagringsmotor" för vad jag förstår efter påläsning kan bara MyIsam hantera fulltext och varje kolumn var tvungen att sättas till Fulltext (index)

Denna funkar fint Smile

$sql = "select * from PR_maskiner where match(serienummer) against ('$word')
union all
select * from PR_maskindelar where match(serienummer) against ('$word')";
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Databaser
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic